간단한 사용자 등록을 처리하는 MSMVC API를 작성하고 있습니다. API에서 컨트롤러에 전달 된 데이터가 유효하지 않은 경우 예외를 throw하려고합니다.HttpResponseException을 던지면 항상 StatusCode : 500 응답이 클라이언트에 발생합니다.
public XmlResult RegisterByEmailAddress(UserModel model)
{
var errorResponse = new HttpResponseMessage(HttpStatusCode.BadRequest)
{
Content = new StringContent("Problem"),
ReasonPhrase = "Problem"
};
throw new HttpResponseException(errorResponse);
}
예외적으로 설정 한 것에 관계없이 클라이언트 응답에서 500 오류 만 표시됩니다. Visual Studio 2012를 사용하고 로컬 IIS 서버에서 디버그 모드로 API를 실행하고 있습니다.
크롬 데브에서 볼 수 있듯이 응답의 실제 내용은 다음과 같습니다
방법 :이 오기 상태 : 500 내부 서버 오류, 유형 text/html과는
이사람이 어떤 생각을 가지고 있습니까 어떤 문제가 수도 있다?
의 모습 거기에있는 코드는 괜찮습니다. (예외를 위해 'errorResponse' 객체를 전달해야합니다.) 디버그에서 코드가 충돌합니까? 아니면 컨트롤러 코드를 더 게시 할 수 있습니까? 그리고/또는 응답에서 더 많은 정보가 있습니까? –
이 오류는 ExceptionFilterAttribute에서 처리됩니까? Re에 오류를 추가 한 후 sponseMessage 왜 당신은 오류를 다시 던지고 있습니까? – Nilesh
@ SimonC - 전체 컨트롤러를 표시하도록 코드를 업데이트했습니다. 기본적으로 테스트 할 때마다 예외가 발생합니다. –