FaultException Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een SOAP-fout.
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
type FaultException = class
inherit 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>]
type FaultException = class
inherit CommunicationException
Public Class FaultException
Inherits CommunicationException
- Overname
- Overname
- Afgeleid
- Kenmerken
Voorbeelden
In het volgende codevoorbeeld ziet u het gebruik van een try/catch-blok voor het vangen en verwerken FaultException van objecten die zijn gegenereerd vanuit een service. Dit gebeurt vaak wanneer foutopsporing is ingeschakeld in de servicetoepassing.
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
Opmerkingen
Gebruik in een service de FaultException klasse om een niet-getypte fout te maken om terug te keren naar de client voor foutopsporingsdoeleinden.
In een client vangen FaultException objecten voor het afhandelen van onbekende of algemene fouten, zoals die worden geretourneerd door een service waarvoor de IncludeExceptionDetailInFaults eigenschap is ingesteld op true. Omdat FaultException het uitbreidt CommunicationException, moet u alle FaultException objecten vangen voordat u objecten ophaalt CommunicationException als u ze afzonderlijk wilt vangen.
Note
Duplex-services kunnen ook objecten vangen FaultException die worden geretourneerd door hun interactie met een duplex-client.
Over het algemeen wordt het sterk aanbevolen om uw FaultContractAttribute services te ontwerpen om sterk getypte SOAP-fouten (en niet beheerde uitzonderingsobjecten) te retourneren voor alle foutcases waarin u besluit dat de client foutinformatie vereist. Gebruik echter de FaultException volgende situaties:
SOAP-fouten verzenden vanuit een service voor foutopsporing.
Soap-fouten op een client ondervangen wanneer de fouten geen deel uitmaken van het servicecontract.
Objecten genereren FaultException wanneer u wilt dat de tekenreeks wordt doorgegeven aan de constructor en door de client wordt opgehaald door de FaultException<TDetail>.ToString methode aan te roepen. Als u een foutcontract opgeeft van het type System.ServiceModel.FaultException<TDetail> waar de typeparameter zich bevindt System.String, is de tekenreekswaarde beschikbaar als eigenschap FaultException<TDetail>.Detail en niet door aan te roepen FaultException<TDetail>.ToString.
Zie Opgeven en verwerken van fouten in contracten en services voor meer informatie.
Constructors
| Name | Description |
|---|---|
| FaultException() |
Initialiseert een nieuw exemplaar van de FaultException klasse. |
| FaultException(FaultReason, FaultCode, String) |
Initialiseert een nieuw exemplaar van de FaultException klasse met behulp van de opgegeven reden, foutcode en actiewaarde. |
| FaultException(FaultReason, FaultCode) |
Initialiseert een nieuw exemplaar van de FaultException klasse met behulp van de opgegeven reden en foutcode. |
| FaultException(FaultReason) |
Initialiseert een nieuw exemplaar van de FaultException klasse met behulp van de opgegeven reden. |
| FaultException(MessageFault, String) |
Initialiseert een nieuw exemplaar van de FaultException klasse met behulp van de opgegeven foutwaarden van het bericht en de opgegeven actiereeks. |
| FaultException(MessageFault) |
Initialiseert een nieuw exemplaar van de FaultException klasse met behulp van de opgegeven foutwaarden van het bericht. |
| FaultException(SerializationInfo, StreamingContext) |
Initialiseert een nieuw exemplaar van de FaultException klasse met behulp van de opgegeven serialisatie-informatie en -context bij het deserialiseren van een stroom naar een FaultException object. |
| FaultException(String, FaultCode, String) |
Initialiseert een nieuw exemplaar van de FaultException klasse met behulp van de opgegeven reden, foutcode en actiewaarde. |
| FaultException(String, FaultCode) |
Initialiseert een nieuw exemplaar van de FaultException klasse met behulp van de opgegeven reden en SOAP-foutcode. |
| FaultException(String) |
Initialiseert een nieuw exemplaar van de FaultException klasse met de opgegeven foutreden. |
Eigenschappen
| Name | Description |
|---|---|
| Action |
Hiermee haalt u de waarde van de SOAP-actie voor het foutbericht op. |
| Code |
Hiermee haalt u de foutcode voor de SOAP-fout op. |
| Data |
Hiermee haalt u een verzameling sleutel-waardeparen op die aanvullende door de gebruiker gedefinieerde informatie over de uitzondering bieden. (Overgenomen van Exception) |
| HelpLink |
Hiermee haalt u een koppeling op naar het Help-bestand dat aan deze uitzondering is gekoppeld. (Overgenomen van Exception) |
| HResult |
Hiermee wordt HRESULT opgehaald of ingesteld, een gecodeerde numerieke waarde die is toegewezen aan een specifieke uitzondering. (Overgenomen van Exception) |
| InnerException |
Hiermee haalt u het Exception exemplaar op dat de huidige uitzondering heeft veroorzaakt. (Overgenomen van Exception) |
| Message |
Hiermee wordt het bericht voor de uitzondering ophaalt. |
| Reason |
Hiermee haalt u de FaultReason soap-fout op. |
| Source |
Hiermee wordt de naam van de toepassing of het object dat de fout veroorzaakt, opgehaald of ingesteld. (Overgenomen van Exception) |
| StackTrace |
Hiermee haalt u een tekenreeksweergave van de directe frames op de aanroepstack op. (Overgenomen van Exception) |
| TargetSite |
Hiermee haalt u de methode op waarmee de huidige uitzondering wordt gegenereerd. (Overgenomen van Exception) |
Methoden
| Name | Description |
|---|---|
| CreateFault(MessageFault, String, Type[]) |
Retourneert een FaultException object van de opgegeven berichtfout, actie en een matrix met detailtypen. |
| CreateFault(MessageFault, Type[]) |
Retourneert een FaultException object van de opgegeven berichtfout en een matrix met detailtypen. |
| CreateMessageFault() |
Retourneert een MessageFault-object. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetBaseException() |
Wanneer deze wordt overschreven in een afgeleide klasse, retourneert u de Exception hoofdoorzaak van een of meer volgende uitzonderingen. (Overgenomen van Exception) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Implementatie van de GetObjectData(SerializationInfo, StreamingContext) methode die wordt aangeroepen wanneer het object in een stroom wordt geserialiseerd. |
| GetType() |
Hiermee haalt u het runtimetype van het huidige exemplaar op. (Overgenomen van Exception) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Hiermee maakt en retourneert u een tekenreeksweergave van de huidige uitzondering. (Overgenomen van Exception) |
gebeurtenis
| Name | Description |
|---|---|
| SerializeObjectState |
Treedt op wanneer een uitzondering wordt geserialiseerd om een uitzonderingsstatusobject te maken dat geserialiseerde gegevens over de uitzondering bevat. (Overgenomen van Exception) |