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 命名空间