FaultException Klasse

Definition

Stellt einen SOAP-Fehler dar.Represents a SOAP fault.

public ref class FaultException : System::ServiceModel::CommunicationException
public class FaultException : System.ServiceModel.CommunicationException
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.FaultException/FaultCodeData[]))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.FaultException/FaultReasonData[]))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.FaultException/FaultCodeData))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.FaultException/FaultReasonData))]
[System.Serializable]
public class FaultException : System.ServiceModel.CommunicationException
[System.Serializable]
public class FaultException : System.ServiceModel.CommunicationException
type FaultException = class
    inherit CommunicationException
Public Class FaultException
Inherits CommunicationException
Vererbung
Vererbung
Abgeleitet
Attribute

Beispiele

Im folgenden Codebeispiel wird die Verwendung eines Try/Catch-Blocks zum Abfangen und Verarbeiten von FaultException-Objekten gezeigt, die von einem Dienst ausgelöst werden.The following code example shows the use of a try/catch block to catch and handle FaultException objects thrown from a service. Dies tritt oft auf, wenn Debugging in der Dienstanwendung aktiviert ist.This often occurs when debugging is turned on in the service application.

using System;
using System.ServiceModel;
using System.ServiceModel.Channels;
using Microsoft.WCF.Documentation;

public class Client
{
  public static void Main()
  {
    // Picks up configuration from the configuration file.
    SampleServiceClient wcfClient = new SampleServiceClient();
    try
    {
      // Making calls.
      Console.WriteLine("Enter the greeting to send: ");
      string greeting = Console.ReadLine();
      Console.WriteLine("The service responded: " + wcfClient.SampleMethod(greeting));
      Console.WriteLine("Press ENTER to exit:");
      Console.ReadLine();
    }
    catch (TimeoutException timeProblem)
    {
      Console.WriteLine("The service operation timed out. " + timeProblem.Message);
      wcfClient.Abort();
      Console.ReadLine();
    }
    // Catch the contractually specified SOAP fault raised here as an exception.
    catch (FaultException<GreetingFault> greetingFault)
    {
      Console.WriteLine(greetingFault.Detail.Message);
      Console.Read();
      wcfClient.Abort();
    }
    // Catch unrecognized faults. This handler receives exceptions thrown by WCF
    // services when ServiceDebugBehavior.IncludeExceptionDetailInFaults 
    // is set to true.
    catch (FaultException faultEx)
    {
      Console.WriteLine("An unknown exception was received. " 
        + faultEx.Message
        + faultEx.StackTrace
      );
      Console.Read();
      wcfClient.Abort();
    }
    // Standard communication fault handler.
    catch (CommunicationException commProblem)
    {
      Console.WriteLine("There was a communication problem. " + commProblem.Message + commProblem.StackTrace);
      Console.Read();
      wcfClient.Abort();
    }
  }
}

Imports System.ServiceModel
Imports System.ServiceModel.Channels
Imports Microsoft.WCF.Documentation

Public Class Client
  Public Shared Sub Main()
    ' Picks up configuration from the configuration file.
    Dim wcfClient As New SampleServiceClient()
    Try
      ' Making calls.
      Console.WriteLine("Enter the greeting to send: ")
      Dim greeting As String = Console.ReadLine()
      Console.WriteLine("The service responded: " & wcfClient.SampleMethod(greeting))
      Console.WriteLine("Press ENTER to exit:")
      Console.ReadLine()
    Catch timeProblem As TimeoutException
      Console.WriteLine("The service operation timed out. " & timeProblem.Message)
      wcfClient.Abort()
      Console.ReadLine()
    ' Catch the contractually specified SOAP fault raised here as an exception.
    Catch greetingFault As FaultException(Of GreetingFault)
      Console.WriteLine(greetingFault.Detail.Message)
      Console.Read()
      wcfClient.Abort()
    ' Catch unrecognized faults. This handler receives exceptions thrown by WCF
    ' services when ServiceDebugBehavior.IncludeExceptionDetailInFaults 
    ' is set to true.
    Catch faultEx As FaultException
      Console.WriteLine("An unknown exception was received. " & faultEx.Message + faultEx.StackTrace)
      Console.Read()
      wcfClient.Abort()
    ' Standard communication fault handler.
    Catch commProblem As CommunicationException
      Console.WriteLine("There was a communication problem. " & commProblem.Message + commProblem.StackTrace)
      Console.Read()
      wcfClient.Abort()
    End Try
  End Sub
End Class

Hinweise

Verwenden Sie die FaultException-Klasse in einem Dienst, um einen nicht typisierten Fehler zu erstellen, der an den Client zu Debuggingzwecken zurückgegeben wird.In a service, use the FaultException class to create an untyped fault to return to the client for debugging purposes.

Erfassen Sie FaultException-Objekte in einem Client, um unbekannte oder generische Fehler zu verarbeiten, wie z. B. Fehler, die von einem Dienst zurückgegeben werden, dessen IncludeExceptionDetailInFaults-Eigenschaft auf true festgelegt ist.In a client, catch FaultException objects to handle unknown or generic faults, such as those returned by a service with the IncludeExceptionDetailInFaults property set to true. Da FaultExceptionCommunicationException erweitert, sollten Sie daran denken, FaultException-Objekte vor CommunicationException-Objekten abzufangen, sofern Sie sie separat abfangen möchten.Because FaultException extends CommunicationException, remember to catch any FaultException objects prior to catching CommunicationException objects if you want to catch them separately.

Hinweis

Duplexdienste können auch FaultException-Objekte abfangen, die von ihrer Interaktion mit einem Duplexclient zurückgegeben werden.Duplex services can also catch FaultException objects returned from their interaction with a duplex client.

In Allgemeinen wird dringend empfohlen, dass Sie FaultContractAttribute verwenden, um die Dienste so zu konzipieren, dass stark typisierte SOAP-Fehler (und keine verwalteten Ausnahmeobjekte) für alle Fehlerfälle zurückgegeben werden, in denen der Client Ihrer Entscheidung nach Fehlerinformationen benötigt.In general, it is strongly recommended that you use the FaultContractAttribute to design your services to return strongly-typed SOAP faults (and not managed exception objects) for all fault cases in which you decide the client requires fault information. Sie sollten FaultException dennoch in folgenden Situationen verwenden:However, use the FaultException in the following situations:

  • wenn Sie SOAP-Fehler von einem Dienst zu Debuggingzwecken senden möchtenTo send SOAP faults from a service for debugging purposes.

  • wenn Sie SOAP-Fehler auf einem Client abfangen möchten, sofern die Fehler nicht Teil des Dienstvertrags sindTo catch SOAP faults on a client when the faults are not part of the service contract.

Lösen Sie FaultException-Objekte aus, wenn die Zeichenfolgen an den Konstruktor übergeben und vom Client durch Aufruf der FaultException<TDetail>.ToString-Methode abgerufen werden sollen.Throw FaultException objects when you want the string to be passed to the constructor and retrieved by the client by calling the FaultException<TDetail>.ToString method. Wenn Sie einen Fehlervertrag vom Typ System.ServiceModel.FaultException<TDetail> angeben, in dem der Typparameter System.String ist, ist der Zeichenfolgenwert als FaultException<TDetail>.Detail-Eigenschaft verfügbar und nicht durch Aufruf von FaultException<TDetail>.ToString.If you specify a fault contract of type System.ServiceModel.FaultException<TDetail> where the type parameter is System.String, the string value is available as the FaultException<TDetail>.Detail property and not by calling FaultException<TDetail>.ToString.

Weitere Informationen finden Sie unter angeben und behandeln von Fehlern in Verträgen und Diensten.For details, see Specifying and Handling Faults in Contracts and Services.

Konstruktoren

FaultException()

Initialisiert eine neue Instanz der FaultException-Klasse.Initializes a new instance of the FaultException class.

FaultException(FaultReason)

Initialisiert eine neue Instanz der FaultException-Klasse unter Verwendung des angegebenen Grunds.Initializes a new instance of the FaultException class using the specified reason.

FaultException(FaultReason, FaultCode)

Initialisiert eine neue Instanz der FaultException-Klasse unter Verwendung des angegebenen Grund- und Fehlercodes.Initializes a new instance of the FaultException class using the specified reason and fault code.

FaultException(FaultReason, FaultCode, String)

Initialisiert eine neue Instanz der FaultException-Klasse unter Verwendung des angegebenen Grunds, Fehlercodes und Aktionswerts.Initializes a new instance of the FaultException class using the specified reason, fault code, and action value.

FaultException(MessageFault)

Initialisiert eine neue Instanz der FaultException-Klasse mit den angegebenen Nachrichtenfehlerwerten.Initializes a new instance of the FaultException class using the specified message fault values.

FaultException(MessageFault, String)

Initialisiert eine neue Instanz der FaultException-Klasse mit den angegebenen Nachrichtenfehlerwerten und der bereitgestellten Aktionszeichenfolge.Initializes a new instance of the FaultException class using the specified message fault values and the provided action string.

FaultException(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der FaultException-Klasse mit den angegebenen Serialisierungsinformationen und dem angegebenen Kontext, wenn ein Stream in ein FaultException-Objekt deserialisiert wird.Initializes a new instance of the FaultException class using the specified serialization information and context when deserializing a stream into a FaultException object.

FaultException(String)

Initialisiert eine neue Instanz der FaultException-Klasse mit dem angegebenen Grund des Fehlers.Initializes a new instance of the FaultException class with the specified fault reason.

FaultException(String, FaultCode)

Initialisiert eine neue Instanz der FaultException-Klasse unter Verwendung des angegebenen Grund- und SOAP-Fehlercodes.Initializes a new instance of the FaultException class using the specified reason and SOAP fault code.

FaultException(String, FaultCode, String)

Initialisiert eine neue Instanz der FaultException-Klasse unter Verwendung des angegebenen Grunds, Fehlercodes und Aktionswerts.Initializes a new instance of the FaultException class using the specified reason, fault code, and action value.

Eigenschaften

Action

Ruft den Wert der SOAP-Aktion für die Fehlermeldung ab.Gets the value of the SOAP action for the fault message.

Code

Ruft den Fehlercode für den SOAP-Fehler ab.Gets the fault code for the SOAP fault.

Data

Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen zur Ausnahme bereitstellen.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Geerbt von Exception)
HelpLink

Ruft einen Link zur Hilfedatei ab, die dieser Ausnahme zugeordnet ist, oder legt einen Link fest.Gets or sets a link to the help file associated with this exception.

(Geerbt von Exception)
HResult

Ruft HRESULT ab oder legt HRESULT fest. Dies ist ein codierter Wert, der einer bestimmten Ausnahme zugeordnet ist.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Geerbt von Exception)
InnerException

Ruft die Exception-Instanz ab, die die aktuelle Ausnahme verursacht hat.Gets the Exception instance that caused the current exception.

(Geerbt von Exception)
Message

Ruft die Meldung für die Ausnahme ab.Gets the message for the exception.

Reason

Ruft FaultReason für den SOAP-Fehler ab.Gets the FaultReason for the SOAP fault.

Source

Gibt den Namen der Anwendung oder des Objekts zurück, die bzw. das den Fehler verursacht hat, oder legt diesen fest.Gets or sets the name of the application or the object that causes the error.

(Geerbt von Exception)
StackTrace

Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames in der Aufrufliste ab.Gets a string representation of the immediate frames on the call stack.

(Geerbt von Exception)
TargetSite

Ruft die Methode ab, die die aktuelle Ausnahme auslöst.Gets the method that throws the current exception.

(Geerbt von Exception)

Methoden

CreateFault(MessageFault, String, Type[])

Gibt ein FaultException-Objekt aus dem angegebenen Nachrichtenfehler, der Aktion und einem Array von Detailtypen zurück.Returns a FaultException object from the specified message fault, action and an array of detail types.

CreateFault(MessageFault, Type[])

Gibt ein FaultException-Objekt aus dem angegebenen Nachrichtenfehler und einem Array von Detailtypen zurück.Returns a FaultException object from the specified message fault and an array of detail types.

CreateMessageFault()

Gibt ein MessageFault-Objekt zurück.Returns a MessageFault object.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetBaseException()

Gibt beim Überschreiben in einer abgeleiteten Klasse eine Exception zurück, die die Grundursache für eine oder mehrere nachfolgende Ausnahmen ist.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Geerbt von Exception)
GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetObjectData(SerializationInfo, StreamingContext)

Implementierung der GetObjectData(SerializationInfo, StreamingContext)-Methode, die aufgerufen wird, wenn das Objekt in einen Stream serialisiert wird.Implementation of the GetObjectData(SerializationInfo, StreamingContext) method that is called when the object is serialized into a stream.

GetType()

Ruft den Laufzeittyp der aktuellen Instanz ab.Gets the runtime type of the current instance.

(Geerbt von Exception)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Erstellt eine Zeichenfolgendarstellung der aktuellen Ausnahme und gibt diese zurück.Creates and returns a string representation of the current exception.

(Geerbt von Exception)

Ereignisse

SerializeObjectState

Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmezustandsobjekt mit serialisierten Daten über die Ausnahme zu erstellen.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Geerbt von Exception)

Gilt für: