ISaveChangeWithChangeUnitsContext2::SetConstraintConflictOnChangeUnit
Segnala il verificarsi di un conflitto di vincoli durante il tentativo del provider di destinazione di applicare la modifica alla replica di destinazione, per una modifica che contiene unità di modifica.
HRESULT SetConstraintConflictOnChangeUnit(
ISyncChangeUnit * pChangeUnit);
Parametri
- pChangeUnit
[in] Unità di modifica nella replica di destinazione in conflitto con l'unità di modifica da applicare.
Valore restituito
S_OK.
E_INVALIDARG se pChangeUnit non è presente nella modifica da applicare.
E_POINTER.
SYNC_E_INVALID_OPERATION se su questo oggetto è già stato impostato un conflitto di vincoli o un errore reversibile.
Osservazioni
Un conflitto di vincoli si verifica quando un provider di destinazione tenta di applicare una modifica alla replica di destinazione e la modifica viola un vincolo della replica di destinazione. Per le unità di modifica, ciò vuol dire in genere che la modifica viola in qualche modo la logica di business sulla replica di destinazione. Come esempio di conflitto di logica di business, considerare una replica a bassa fedeltà che archivia due unità di modifica: name e country. Considerare inoltre una replica ad alta fedeltà che archivia tre unità di modifica: name, state/province e country. La replica ad alta fedeltà contiene la logica di business che controlla il campo state/province rispetto al campo country e non archivia la modifica che non supera il controllo. La replica a bassa fedeltà viene utilizzata come origine e invia un elemento con country impostato su "USA". Il provider di destinazione tenta di applicare la modifica alla replica ad alta fedeltà, ma nella replica ad alta fedeltà l'elemento contiene "British Columbia" nel campo state/province. Pertanto, la modifica viola la logica di business e causa un conflitto di vincoli sull'unità di modifica che rappresenta il campo state/province.
Quando il provider di destinazione utilizza questo metodo per segnalare un conflitto di vincoli, l'oggetto di applicazione modifiche risolve il conflitto in base all'azione di risoluzione dei conflitti impostata dall'applicazione per il conflitto specificato. L'oggetto di applicazione modifiche invia quindi tutte le chiamate necessarie al provider di destinazione in modo che quest'ultimo possa applicare il conflitto risolto alla replica di destinazione. Per ulteriori informazioni, vedere Rilevamento e risoluzione dei conflitti di vincoli.