SaveChangeWithChangeUnitsContext.RecordRecoverableErrorForChangeUnit メソッド
この変更単位のデータが項目ストアに保存されたときに、復旧可能なエラーが発生したことを示します。
名前空間: Microsoft.Synchronization
アセンブリ: Microsoft.Synchronization (microsoft.synchronization.dll 内)
構文
'宣言
Public Sub RecordRecoverableErrorForChangeUnit ( _
changeUnitChange As ChangeUnitChange, _
errorData As RecoverableErrorData _
)
'使用
Dim instance As SaveChangeWithChangeUnitsContext
Dim changeUnitChange As ChangeUnitChange
Dim errorData As RecoverableErrorData
instance.RecordRecoverableErrorForChangeUnit(changeUnitChange, errorData)
public void RecordRecoverableErrorForChangeUnit (
ChangeUnitChange changeUnitChange,
RecoverableErrorData errorData
)
public:
void RecordRecoverableErrorForChangeUnit (
ChangeUnitChange^ changeUnitChange,
RecoverableErrorData^ errorData
)
public void RecordRecoverableErrorForChangeUnit (
ChangeUnitChange changeUnitChange,
RecoverableErrorData errorData
)
public function RecordRecoverableErrorForChangeUnit (
changeUnitChange : ChangeUnitChange,
errorData : RecoverableErrorData
)
パラメーター
- changeUnitChange
エラーの原因となった変更単位の変更です。
- errorData
エラーに関する詳細です。
例外
例外の種類 | 条件 |
---|---|
SaveChangeWithChangeUnitsContext オブジェクトに含まれる保存操作が Create です。この場合、項目全体の作成が失敗します。 |
解説
このメソッドが呼び出されると、学習したナレッジに ItemChangeUnitOverride オブジェクトが追加されます。その結果、同期セッションの実行中は、変更単位の変更が再度列挙されることはありません。
例
次の例では、同期先レプリカ内で変更単位の作成または更新を試みます。例外が発生した場合は、その例外を含む復旧可能なエラーが変更単位に対して記録され、同期が続行されます。
Case SaveChangeAction.Create, SaveChangeAction.UpdateVersionAndData
If True Then
' Update the item store and metadata store for the specified change unit.
Try
Dim cuData As String = DirectCast(context.ChangeData, String())(cuChange.ChangeUnitId.GetByteId())
_ContactStore.UpdateContactFromSync(change, cuChange, cuData)
Catch ex As Exception
Dim errData As New RecoverableErrorData(ex)
context.RecordRecoverableErrorForChangeUnit(cuChange, errData)
End Try
Exit Select
End If
case SaveChangeAction.Create:
case SaveChangeAction.UpdateVersionAndData:
{
// Update the item store and metadata store for the specified change unit.
try
{
string cuData = ((string[])context.ChangeData)[cuChange.ChangeUnitId.GetByteId()];
_ContactStore.UpdateContactFromSync(change, cuChange, cuData);
}
catch (Exception ex)
{
RecoverableErrorData errData = new RecoverableErrorData(ex);
context.RecordRecoverableErrorForChangeUnit(cuChange, errData);
}
break;
}
参照
リファレンス
SaveChangeWithChangeUnitsContext クラス
SaveChangeWithChangeUnitsContext メンバー
Microsoft.Synchronization 名前空間