2012-03-20 3 views
8

MSDN의 HttpResponseMessage documentation에 따르면 이유 구문 (예 : 200 OK의 "OK"부분)을 설정할 수 있어야합니다. HTTP 응답 날 이유 문구를 설정할 수 않습니다 내가 WebResponse를 같은 클라이언트 측에서 응답을 소비 할 때MVC4 WebAPI 이유 프레이즈?

HttpResponseMessage response = new HttpResponseMessage(System.Net.HttpStatusCode.Conflict); 
      response.ReasonPhrase = "conflict message"; 

그러나, 나는 내 사용자 지정 이유 문구가 표시되지 않습니다. StatusDescription 아래에서 찾을 수있을 것입니다. Fiddler를 사용하여 원시 응답을 보면 이유 구문이 서버에 설정되어있는 것 같지 않습니다.

도움이 동료 조치 결과 (파생)와, 내가 유사한 뭔가를 할 수 있다고 지적했다 :

new HttpStatusCodeResult(System.Net.HttpStatusCode.Conflict, "conflict message");

그 난 후 정확한 기능 인 것처럼 그것은 보인다,하지만 난 WebAPI가 어떻게 협조 할 수 있는지 확신 할 수 없습니다.

어디로 잘못 가고 있습니까?

+0

이것은 WCF 웹 API의 알려진 버그입니다. ASP.Net 웹 API에서 수정 된 줄 알았는데. 어느 쪽을 사용하고 있습니까? –

+0

ASP.NET WebAPI를 사용하고 있습니다. – Ross

+0

@ 로스 지금 해결하셨습니까? 그렇다면 답을 검토하고 올바른 답을 표시 할 수 있습니까? – Junto

답변

8

ReasonPhrase가 Cassini에서 작동하지 않습니다. Cassini 대신 IIS Express를 사용하면 응답에 이유가 포함되어 있음을 알 수 있습니다.

관련 문제