Rückkehr 401 von WCF-Dienst
Wie kann ich wieder ein HTTP 401, die von einem WCF-Dienst?
- Tun [OperationContract, WebInvoke] [Service] was?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie kann ich wieder ein HTTP 401, die von einem WCF-Dienst?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie die Programmierung eines REST-service kann es auf diese Weise getan:
Hinweise:
"MSDN: Wenn Sie einen WCF-REST-Endpunkt ("WebHttpBinding" und "WebHttpBehavior" oder WebScriptEnablingBehavior) den HTTP-status-code, der auf die Reaktion ist entsprechend eingestellt. Allerdings WebFaultException kann verwendet werden, mit nicht-REST-Endpunkten und verhält sich wie eine normale FaultException."
Wenn Sie mit der WebServiceHost2 Werk vom WCF REST Starter Kit, können Sie auch werfen spezifische
WebProtocolException
und geben Sie einen HTTP-return-code:(Quelle: robbagby.com)
(Quelle: robbagby.com)
(Quelle: robbagby.com)
Es gibt auch eine
HttpStatusCode.Unauthorized
das entspricht dem Statuscode 401.Siehe Rob Bagby ausgezeichnete blog-post Effektive Fehlerbehandlung mit WCF REST für mehr Details zu den verschiedenen Möglichkeiten der Angabe von HTTP-return-codes. (screenshots sind aus Rob ' s blog-Beitrag - er verdient alle Anerkennung für diese.)
Je nachdem, Wann Sie tun müssen, um die Berechtigung überprüfen Sie, könnten Sie tun es in einer
HttpModule
mit so etwas wie die folgenden: