가 나는 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
아무 것도 브라우저에 표시되지 않습니다.
내 코드가 잘못 되었나요?
죄송합니다. 웹 메서드는 문자열이 아닌 스트림을 반환해야합니다. 명시 적으로 오류 메시지를 반환하고 싶지는 않지만 브라우저가 예외를보고해야합니다 (예 : 400 : BAD Request). 어떠한 제안? – bzamfir
400 오류를 반환 하시겠습니까? 파이어 폭스 또는 비슷한 비슷한 파일을 사용하여 서버에서 보낸 http 헤더를 검사하여 400 개의 잘못된 요청이 포함되어 있는지 확인할 수 있습니다. –