OperationBase.MarkErrorAsHandled Method

WCF RIA Services

[WCF RIA Services Version 1 Service Pack 2 is compatible with either .NET framework 4 or .NET Framework 4.5, and with either Silverlight 4 or Silverlight 5.]

Specifies that an error encountered in an operation is handled.

Namespace:  System.ServiceModel.DomainServices.Client
Assembly:  System.ServiceModel.DomainServices.Client (in System.ServiceModel.DomainServices.Client.dll)

'Declaration
Public Sub MarkErrorAsHandled
'Usage
Dim instance As OperationBase

instance.MarkErrorAsHandled()

ExceptionCondition
InvalidOperationException

The HasError property is false.

You call this method when you have taken the required steps to recover from an error in a domain operation. By calling this method, you indicate that the error will not be thrown as an exception. If this method is not called for a failed operation, the exception specified in the Complete method will be thrown.

The System#ComponentModel#INotifyPropertyChanged#PropertyChanged event is raised for the IsErrorHandled property.

The following example shows a callback method for a submit operation that checks for errors and calls the MarkErrorAsHandled method.

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


Show: