2012-05-29 2 views
0

http 상태 코드 204로 응답 할 수 있어야하지만 appharbor은 500 오류 만 반환합니다. 내 컨트롤러 코드가 올바르게 실행되고 있지만 아래 코드가 호출되면 피들러에서 500 오류 만 표시됩니다.AppHarbor MVC - HttpNoContent 상태 코드를 사용할 수 없습니다.

protected ViewResult HttpNoContent() 
{ 
    Response.StatusCode = (int)HttpStatusCode.NoContent; 

    return View("NoContent"); 
} 
+0

204 (NoContent) 상태 코드가 포함 된보기를 반환하는 이유는 무엇입니까? 'NoContent'보기가 존재합니까? 보통 그 목적을 위해'EmptyResult'를 반환 할 것입니다. –

+0

이것은 fitbit의 끝점이며 요청이 완료되면 204를 반환해야합니다. – Phil

+0

나는 그것을 이해하지만 204 상태 코드는 빈 내용, 즉 내용을 반환해야 함을 의미합니다. 귀하의보기에서 당신은보기를 반환하고 있습니다. 그것은 모순입니다. –

답변

4

specification에서 견적 (I는 굵은 글씨로 중요한 부분을 뒀다) :

따라서 메시지 본문을 포함하고, 안 204 응답은 항상 첫 번째로 종료 입니다 헤더 필드 뒤의 빈 줄.

귀하는이 규칙을 준수하지 않습니다. 204 상태 코드는 내용이 없음을 의미하지만보기를 반환합니다. EmptyResult을 반환 해보십시오.

protected ViewResult HttpNoContent() 
{ 
    Response.StatusCode = (int)HttpStatusCode.NoContent; 

    return new EmptyResult(); 
} 
관련 문제