次のコード例(http://code.msdn.microsoft.com/Database-SyncSQL-Server-e97d1208)を使用してN層同期アプリケーションを開発し、競合の解決に取り組んでいます。
競合を解決するために、ローカル同期プロバイダーとリモート同期プロバイダーの両方でsyncProvider.ApplyChangeFailedイベントを使用しています。
syncProvider.ApplyChangeFailedイベントは、ローカル同期プロバイダーでは発生しません。興味深いのは、これがリモートプロキシプロバイダーでも発生することです。
また、私は試してみました
localProvider.Configuration.CollisionConflictResolutionPolicy = CollisionConflictResolutionPolicy.RenameDestination ;
localProvider.Configuration.ConflictResolutionPolicy = ConflictResolutionPolicy.ApplicationDefined ;
remoteProvider.Configuration.CollisionConflictResolutionPolicy = CollisionConflictResolutionPolicy.RenameSource ;
remoteProvider.Configuration.ConflictResolutionPolicy = ConflictResolutionPolicy.DestinationWins ;
しかし、これまでのところ運はありません。
誰かがこの問題について私を案内してくれることを非常に感謝しています。