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