OperationBase.MarkErrorAsHandled-Methode
Gibt an, dass ein in einem Vorgang aufgetretener Fehler behandelt wird.
Namespace: System.ServiceModel.DomainServices.Client
Assembly: System.ServiceModel.DomainServices.Client (in system.servicemodel.domainservices.client.dll)
Verwendung
'Usage
Dim instance As OperationBase
instance.MarkErrorAsHandled
Syntax
'Declaration
Public Sub MarkErrorAsHandled
public void MarkErrorAsHandled ()
public:
void MarkErrorAsHandled ()
public void MarkErrorAsHandled ()
public function MarkErrorAsHandled ()
Beispiel
Im folgenden Beispiel wird eine Rückrufmethode für einen Sendevorgang veranschaulicht, die eine Überprüfung auf Fehler durchführt und die MarkErrorAsHandled-Methode aufruft.
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();
}
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
InvalidOperationException | Die HasError-Eigenschaft ist false. |
Hinweise
Rufen Sie diese Methode auf, wenn Sie die erforderlichen Schritte unternommen haben, um nach einem Fehler in einem Domänenvorgang fortfahren zu können. Indem Sie diese Methode aufrufen, geben Sie an, dass für den Fehler keine Ausnahme ausgelöst wird. Wenn diese Methode für einen fehlgeschlagenen Vorgang nicht aufgerufen wird, wird die in der Complete-Methode angegebene Ausnahme ausgelöst.
Für die IsErrorHandled-Eigenschaft wird das System#ComponentModel#INotifyPropertyChanged#PropertyChanged-Ereignis ausgelöst.
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht sichergestellt.
Plattformen
Entwicklungsplattformen
Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 und Windows 2000
Zielplattformen
Change History
Siehe auch
Verweis
OperationBase-Klasse
OperationBase-Member
System.ServiceModel.DomainServices.Client-Namespace