ISaveChangeWithChangeUnitsContext2::SetConstraintConflictOnChangeUnit
Notifica, para un cambio que contiene unidades de cambio, que se produjo un conflicto de restricción cuando el proveedor de destino intentó aplicar el cambio a la réplica de destino.
HRESULT SetConstraintConflictOnChangeUnit(
ISyncChangeUnit * pChangeUnit);
Parámetros
- pChangeUnit
[in] Unidad de cambio de la réplica de destino que está en conflicto con la unidad de cambio que se va a aplicar.
Valor devuelto
S_OK
E_INVALIDARG si no se encuentra pChangeUnit en el cambio que se va a aplicar.
E_POINTER
SYNC_E_INVALID_OPERATION si ya se ha establecido un conflicto de restricción o un error recuperable en este objeto.
Notas
Un conflicto de restricción se produce cuando un proveedor de destino intenta aplicar un cambio a la réplica de destino y dicho cambio infringe una restricción de la réplica de destino. Para las unidades de cambio, esto significa normalmente que el cambio infringe alguna lógica de negocio en la réplica de destino. Considérese como ejemplo de conflicto de lógica de negocio una réplica de fidelidad baja que almacene dos unidades de cambio: name y country. Considere también una réplica de fidelidad alta que almacene tres unidades de cambio: name, state/province y country. La réplica de fidelidad alta contiene una lógica de negocio que comprueba el campo state/province frente al campo country y no almacenará los cambios que no pasen la comprobación. La réplica de fidelidad baja actúa como origen y envía un elemento con country establecido en "EE. UU.". El proveedor de destino intenta aplicar el cambio a la réplica de fidelidad alta, pero en esta réplica el elemento contiene "Colombia Británica" en su campo state/province. Por consiguiente, el cambio infringe la lógica de negocio y produce un conflicto de restricción en la unidad de cambio que representa el campo state/province.
Cuando el proveedor de destino utiliza este método para notificar un conflicto de restricción, el aplicador de cambios resuelve el conflicto según la acción de resolución de conflictos establecida por la aplicación para el conflicto especificado. A continuación, el aplicador de cambios envía todas las llamadas necesarias al proveedor de destino para que este pueda aplicar el conflicto resuelto a la réplica de destino. Para obtener más información, vea Detectar y resolver conflictos de restricción.