2011-05-16 3 views
11

를 기록하지 않았다 HttpRequestValidationException 내가 &#39를 입력하면 예를 들어ELMAH는 ELMAH 로그에 실패 내 ASP.NET MVC2 응용 프로그램에서 HttpRequestValidationException

(원격 데스크톱을 통해 웹 서버에 로그인 로컬 호스트로 사이트를 탐색하는 경우 제외) 도메인 이름을 사용하여 내 컴퓨터에서 정상적으로 검색 할 때 텍스트 상자에

Server Error in '/' Application. 
Runtime Error 

Description: An application error occurred on the server. The current custom 
error settings for this application prevent the details of the application 
error from being viewed remotely (for security reasons). It could, however, 
be viewed by browsers running on the local server machine. 

Details: To enable the details of this specific error message to be viewable on 
remote machines, please create a <customErrors> tag within a "web.config" 
configuration file located in the root directory of the current web application. 
This <customErrors> tag should then have its "mode" attribute set to "Off". 

그리고 Elmah 로그에 아무것도 표시되지 않습니다. 나는 원격 데스크톱을 통해 웹 서버에 로그인하고 나는 전체 오류 메시지를 볼 수 있습니다 로컬 호스트로 사이트를 검색하는 경우

는하지만 :

Server Error in '/' Application. 
A potentially dangerous Request.Form value was detected from the client 

다른 오류 메시지가 표시됩니다 이유는 알을 내가 돈 때문 '이다 내 web.config에 <customErrors mode="Off"/> 노드가 있습니다. 그러나 그것은 괜찮습니다, 나는 전 세계에 보여지는 완전한 오류 메시지를 원하지 않습니다.

하지만 내가 원하는 것은 Elmah가이 오류를 기록 할 때 기록하는 것입니다. 예상대로 작동하려면 무엇을해야합니까?

답변

12

나는 이것이 ASP.NET 4. 결함 목록의 요청 유효성 검사의 주요 변경으로 인해 발생이 ELMAH 결함 http://code.google.com/p/elmah/issues/detail?id=217, 생각하는 두 가지 가능한 해결 방법 (수동함으로써 Application_Error 처리기에 잡기가 ELMAH의 예외를 기록하거나 Web.config에서 새 유효성 검사 동작을 해제)

blog post을 참조하십시오.

+1

FYI : Application_Error가 IIS7의 통합 파이프 라인 모드에서 작동하지 않는 것으로 보입니다. –