2009-07-13 3 views
11

내 ASP.NET MVC 응용 프로그램이 IIS 6.0 webroot 폴더 내의 Stuff라는 폴더 내에 있습니다. 그래서 나는 http://localhost/Stuff/Posts으로 내 페이지에 액세스합니다. 저는 Visual Studio의 내장 웹 서버를 사용하는 동안 EMLAH를 사용했습니다. 이제 http://localhost/Stuff/elmah.axd에 액세스하면 리소스를 찾을 수 없습니다. 오류가 발생합니다. 아무도 내 실수를 여기에 지적 할 수 있습니까! 다음은 설정 파일 항목입니다.ASP.NET MVC 프로젝트에서 elmah.axd에 액세스하는 동안 "리소스를 찾을 수 없음"오류가 발생했습니다.

<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/> //Handler 
    <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah"/> 
    <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/> 
    <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/> //Module 
+0

"web.config의 새 system.webserver 섹션"은 IIS7.0에만 해당하지만 질문 할 때는 IIS6.0에 대해 묻습니다. 정확히 어떤 IIS 버전을 사용하고 있습니까? –

답변

0

나머지 web.config를 게시 할 수 있습니까?

충분히 편안하다면 httpHandlers 및 httpModule (처리기 및 모듈이 아닌) 섹션이 web.config에 제대로 채워 졌는지 확인할 수 있습니까?

+1

고마워요, 사실, 새로운 시스템에 항목을 추가해야했습니다.web.config 파일의 webserver 섹션에도 있습니다. – theraneman

+0

나를 위해 일했습니다. 솔루션으로 게시하지 않는 이유는 무엇입니까? – Martin

5

global.asax에서 무시한 * .axd 경로를 추가 했습니까?

15

는 IIS7 작업 난이 채워 web.config (system.websystem.webServer)의 두 부분을 필요로 발견 - Elmah not working with asp.net site를 참조하십시오.

아마도 이것은 관련되어 있습니다.

2

Elmah의 경우 두 가지를 구별해야합니다. 먼저 HTTP 로깅, 이메일 전송 등 모든 작업을 수행하는 HTTP 모듈. 둘째, 오류 로그 페이지와 다른 페이지 (rss ... 등)를 표시하는 http 핸들러

이상한 설정이있어서 404 리소스와 동일한 문제가 발생했습니다! 내 개발 컴퓨터 (Windows 7, iis 7) 응용 프로그램 풀이 통합 파이프 라인 모드에서 작동했기 때문에 elmah는 매력처럼 작동했습니다. 그러나 생산 기계에서는 응용 프로그램이 관리 파이프 라인을 사용하고 있었으며 elmah 작업을 위해 최선을 다했지만 모두 쓸모가 없었습니다 ...

그런 다음 UI (오류 로그 페이지, rss, 오류 세부 사항, ...) 일반 aspx 페이지를 사용하여. 소스 코드를 다운로드하고 약간의 수정을가했습니다. (가장 빠른 솔루션이 필요했기 때문에 Atif를 사용했습니다.) 그리고 나서 애플리케이션에서 Elmah가 정의한 페이지를 상속 한 일반 aspx 페이지를 만든 폴더를 만들었습니다 . 페이지는 하나 개의 라인을 포함 (: 상세 페이지 : 전 <퍼센트를 @ 페이지 언어 = "C#을"상속 = "Elmah.ErrorDetailPage"%>) 이제

, 나는 IIS 6에 관계없이 ELMAH를 실행 할 수 있었다/7 그리고 그것은 매력처럼 작동하고 .. 그것은 HTTP 처리기를 올바르게 구성하고 그 작업을 해결하는 데 큰 어려움에서 나를 구해 냈습니다! 또한 보안 구성은 훨씬 간단합니다.

커뮤니티가이 솔루션에 관심이 있는지 여부를 알 수 없습니다 (그렇다면 전체 변경 사항을 게시 할 준비가 됨). 이것은 당신에게 응용 프로그램에서 (당신이 그것을 사용하는 방법에 대한 지침 수정 된 DLL을 필요로하는 경우와, 그냥 말해!) 다른 방법으로

1

을 문제를 해결하는 방법에 대한 아이디어를 제공하는 것이

희망 코드 또는 web.config 파일을 변경하지 않으려면 IIS의 풀 설정을 Managed Pipelin Mode에서 Classic으로 설정하십시오. 그러면 axd.s은 이전과 같이 작동합니다.

관련 문제