次の方法で共有


Action プロパティ

競合を処理するアクションを指定する ApplyAction 列挙値を取得または設定します。

名前空間:  Microsoft.Synchronization.Data
アセンブリ:  Microsoft.Synchronization.Data (Microsoft.Synchronization.Data.dll 内)

構文

'宣言
Public Property Action As ApplyAction
    Get
    Set
'使用
Dim instance As ApplyChangeFailedEventArgs
Dim value As ApplyAction

value = instance.Action

instance.Action = value
public ApplyAction Action { get; set; }
public:
property ApplyAction Action {
    ApplyAction get ();
    void set (ApplyAction value);
}
member Action : ApplyAction with get, set
function get Action () : ApplyAction
function set Action (value : ApplyAction)

プロパティ値

型 : Microsoft.Synchronization.Data. . :: . .ApplyAction
競合を処理するアクションを指定する ApplyAction 列挙値。

説明

同期中に行を適用できない場合は、ApplyChangeFailed イベントが発生します。ApplyChangeFailedEventArgs オブジェクトを使用すると、失敗の原因となったエラーまたは競合に関する情報が提供されます。イベントのハンドラーで、同期プロバイダーが行の適用を再試行するかどうかを指定できます。クライアント側での変更の強制書き込みは、クライアント同期プロバイダーによって処理されます。サーバー側での変更の強制書き込みは、サーバーに変更を適用するコードにそのロジックが必要となります。詳細については、「データの競合とエラーを処理する方法」を参照してください。

次のコード例では、クライアントでの更新とサーバーでの削除が競合した場合は、RetryWithForceWrite の値を指定します。完全なコンテキスト例でこのコードを表示するには、「データの競合とエラーを処理する方法」を参照してください。

if (e.Conflict.ConflictType == ConflictType.ClientUpdateServerDelete)
{

    //For client-update/server-delete conflicts, we force the client 
    //change to be applied at the server. The stored procedure specified for 
    //customerSyncAdapter.UpdateCommand accepts the @sync_force_write parameter
    //and includes logic to handle this case.
    Console.WriteLine(String.Empty);
    Console.WriteLine("***********************************");
    Console.WriteLine("A client update / server delete conflict was detected.");

    e.Action = ApplyAction.RetryWithForceWrite;

    Console.WriteLine("The client change was retried at the server with RetryWithForceWrite.");
    Console.WriteLine("***********************************"); 
    Console.WriteLine(String.Empty);

}
If e.Conflict.ConflictType = ConflictType.ClientUpdateServerDelete Then

    'For client-update/server-delete conflicts, we force the client 
    'change to be applied at the server. The stored procedure specified for 
    'customerSyncAdapter.UpdateCommand accepts the @sync_force_write parameter
    'and includes logic to handle this case.
    Console.WriteLine(String.Empty)
    Console.WriteLine("***********************************")
    Console.WriteLine("A client update / server delete conflict was detected.")

    e.Action = ApplyAction.RetryWithForceWrite

    Console.WriteLine("The client change was retried at the server with RetryWithForceWrite.")
    Console.WriteLine("***********************************")
    Console.WriteLine(String.Empty)
End If

参照

参照

ApplyChangeFailedEventArgsクラス

ApplyChangeFailedEventArgs メンバー

Microsoft.Synchronization.Data 名前空間