共用方式為


OperationBase.MarkErrorAsHandled 方法

指定作業中發生的錯誤已處理。

命名空間: System.ServiceModel.DomainServices.Client
組件: System.ServiceModel.DomainServices.Client (於 system.servicemodel.domainservices.client.dll)

使用方式

'用途
Dim instance As OperationBase

instance.MarkErrorAsHandled

語法

'宣告
Public Sub MarkErrorAsHandled
public void MarkErrorAsHandled ()
public:
void MarkErrorAsHandled ()
public void MarkErrorAsHandled ()
public function MarkErrorAsHandled ()

範例

下列範例示範送出作業的回呼方法,這個方法會檢查錯誤並呼叫 MarkErrorAsHandled 方法。

Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
    _customerContext.SubmitChanges(AddressOf OnSubmitCompleted, Nothing)
End Sub

Private Sub RejectButton_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
    _customerContext.RejectChanges()
    CheckChanges()
End Sub

Private Sub CustomerGrid_RowEditEnded(ByVal sender As System.Object, ByVal e As System.Windows.Controls.DataGridRowEditEndedEventArgs)
    CheckChanges()
End Sub

Private Sub CheckChanges()
    Dim changeSet = _customerContext.EntityContainer.GetChanges()
    ChangeText.Text = changeSet.ToString()

    Dim hasChanges = _customerContext.HasChanges
    SaveButton.IsEnabled = hasChanges
    RejectButton.IsEnabled = hasChanges
End Sub

Private Sub OnSubmitCompleted(ByVal so As SubmitOperation)
    If (so.HasError) Then
        MessageBox.Show(String.Format("Submit Failed: {0}", so.Error.Message))
        so.MarkErrorAsHandled()
    End If
    CheckChanges()
End Sub
private void SaveButton_Click(object sender, RoutedEventArgs e)
{
    _customerContext.SubmitChanges(OnSubmitCompleted, null);
}

private void RejectButton_Click(object sender, RoutedEventArgs e)
{
    _customerContext.RejectChanges();
    CheckChanges();
}

private void CustomerGrid_RowEditEnded(object sender, DataGridRowEditEndedEventArgs e)
{
    CheckChanges();
}

private void CheckChanges()
{
    EntityChangeSet changeSet = _customerContext.EntityContainer.GetChanges();
    ChangeText.Text = changeSet.ToString();

    bool hasChanges = _customerContext.HasChanges;
    SaveButton.IsEnabled = hasChanges;
    RejectButton.IsEnabled = hasChanges;
}

private void OnSubmitCompleted(SubmitOperation so)
{
    if (so.HasError)
    {
        MessageBox.Show(string.Format("Submit Failed: {0}", so.Error.Message));
        so.MarkErrorAsHandled();
    }
    CheckChanges();
}

例外狀況

例外狀況型別 條件
InvalidOperationException

HasError 屬性為 false

備註

當您已經執行必要步驟復原網域作業中的錯誤時,呼叫這個方法。透過呼叫這個方法,指示錯誤不會擲回例外狀況。如果沒有針對失敗的作業呼叫此方法,就會擲回 Complete 方法中指定的例外狀況。

System#ComponentModel#INotifyPropertyChanged#PropertyChanged 事件是針對 IsErrorHandled 屬性引發。

執行緒安全性

任何這個類型的公用靜態 (在 Visual Basic 中為 共用) 成員都具備執行緒安全。 不保證任何執行個體成員安全執行緒。

平台

開發平台

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 、Windows Server 2008 和 Windows 2000

目標平台

Change History

另請參閱

參考

OperationBase 類別
OperationBase 成員
System.ServiceModel.DomainServices.Client 命名空間