2016-11-15 3 views
0

난 후 오류 정보를보고하지 오전에 IncludeErrorDetailPolicy에 항상세부 사항은도 IncludeErrorDetailPolicy을 설정 한 후 내부 서버 오류 [500]가 표시되지 않습니다 항상

나는 시작에 아래의 코드가 있습니다. cs.

GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always 

내가해야 할 다른 것이 있습니까? 내 로컬 컴퓨터에서 전체 오류 정보를 가져올 수 있지만 배포 한 후에는 DEV 서버에서 가져올 수 없습니다.

서버에 로그인하여 customError 모드를 "On"으로 설정했습니다. 또한 httpErrors를 "Detailed"로 설정했습니다.

<system.web>  
    <customErrors mode="On"/> 
</system.web> 

<system.webServer>  
    <httpErrors errorMode="Detailed"/> 
</system.webServer> 

변경 이후에도 표시되지 않았습니다. IIS에서 수행해야 할 다른 작업이 있습니까?

답변

0

우선이 답변이 아닙니다.

내가 Startup.cs 아래의 system.webServer 섹션의 web.config에서

GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always 

추가에서 아래의 코드를 제거 : 그것은 해결 방법입니다 또한

<httpErrors existingResponse="PassThrough" errorMode="Detailed" /> 

, 내가 사용하는 ResponseMessage(HttpResponseMessage) 대신에 InternalServerError(Exception) 대신에 :

private IHttpActionResult CustomHttpActionResult(string message) 
{ 
    return ResponseMessage(new HttpResponseMessage 
    { 
     Content = new StringContent(message), 
     StatusCode = HttpStatusCode.InternalServerError 
    }); 
}