0
我有一個REST服務,我想有一個處理異常異常處理
我的代碼如下一個輔助類:
[WebGet(UriTemplate = "/Test/{param}")]
public Stream Test(string param)
{
if (param == "Ok")
return Process(param);
else
{
RESTException(System.Net.HttpStatusCode.BadRequest, "Param not ok");
return null;
}
}
private void RESTException(System.Net.HttpStatusCode httpStatusCode, string message)
{
OutgoingWebResponseContext response = WebOperationContext.Current.OutgoingResponse;
response.StatusCode = httpStatusCode; // or anything you want
response.StatusDescription = message;
}
我從瀏覽器中測試,但是當我通過錯誤的參數,例如
http://myaddress/Service/Test/badparam
沒有在瀏覽器中顯示。
我的代碼有什麼問題?
對不起,web方法應該返回流,而不是字符串。我不想明確返回thr錯誤消息,而是瀏覽器報告異常(例如400:BAD請求)。任何建議? – bzamfir 2012-02-04 15:06:09
你確定你正在返回一個400錯誤嗎?使用firebug for Firefox或類似的東西,你可以檢查從服務器發回的http頭信息,並確保它們包含一個400錯誤的請求。 – 2012-02-04 15:37:29