Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Windows Communication Foundation (WCF) Web HTTP-felhantering gör att du kan returnera fel från WCF Web HTTP-tjänster som anger en HTTP-statuskod och returnerar felinformation med samma format som åtgärden (till exempel XML eller JSON).
WCF Web HTTP-felhantering
Klassen WebFaultException definierar en konstruktor som gör att du kan ange en HTTP-statuskod. Den här statuskoden returneras sedan till klienten. Med en allmän version av WebFaultException klassen WebFaultException<T> kan du returnera en användardefinierad typ som innehåller information om felet som inträffade. Det här anpassade objektet serialiseras med det format som anges av åtgärden och returneras till klienten. I följande exempel visas hur du returnerar en HTTP-statuskod.
public string Operation1()
{
// Operation logic
// ...
throw new WebFaultException(HttpStatusCode.Forbidden);
}
I följande exempel visas hur du returnerar en HTTP-statuskod och extra information i en användardefinierad typ.
MyErrorDetail är en användardefinierad typ som innehåller extra information om felet som inträffade.
public string Operation2()
{
// Operation logic
// ...
MyErrorDetail detail = new MyErrorDetail()
{
Message = "Error Message",
ErrorCode = 123,
}
throw new WebFaultException<MyErrorDetail>(detail, HttpStatusCode.Forbidden);
}
Föregående kod returnerar ett HTTP-svar med den förbjudna statuskoden och en brödtext som innehåller en instans av MyErrorDetails objektet. Objektets MyErrorDetails format bestäms av:
Värdet på parametern
ResponseFormatför attributet WebGetAttribute eller WebInvokeAttribute som har angivits för tjänståtgärden.Värdet för AutomaticFormatSelectionEnabled.
Värdet på Format-egenskapen genom att komma åt OutgoingWebResponseContext.
Mer information om hur dessa värden påverkar åtgärdens formatering finns i WCF Web HTTP-formatering.
WebFaultException är en FaultException och kan därför användas som programmeringsmodell för fel undantag för tjänster som exponerar SOAP-slutpunkter samt webb-HTTP-slutpunkter.