2009-07-13 59 views
11

我的ASP.NET MVC應用程序位於IIS 6.0 webroot文件夾內名爲Stuff的文件夾內。所以我訪問我的頁面爲http://localhost/Stuff/Posts。當我使用Visual Studio的內置web服務器時,我使用了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版本? – 2009-07-14 11:33:03

回答

0

你可以發佈你的web.config的其餘部分嗎?或者,如果你足夠舒適,你能確保http.Handlers和httpModules(NOT處理程序和模塊)部分在web.config中正確填寫嗎?

+1

謝謝你們, 其實,我不得不在新系統中添加條目。web.config文件中的webserver部分也是如此。 – theraneman 2009-07-14 10:34:56

5

您是否在global.asax中添加了忽略* .axd路由?

2

對於Elmah,我們需要區分兩件事: 首先http模塊負責錯誤日誌記錄,電子郵件等等的所有工作。第二,http處理程序,顯示錯誤日誌頁面和其他頁面(rss等)

我有404資源相同的問題找不到,因爲我有一個奇怪的設置!我的開發機器上使用了 ,(windows 7,iis 7)elmah像一個魅力一樣工作,因爲應用程序池在集成管道模式下工作。然而,在生產機器上,應用程序使用管理管道,我盡我所能使elmah工作,但它都是沒用的...

然後我得到了顯示UI(錯誤日誌頁面, RSS,錯誤細節,...)使用常規的aspx頁面。 我下載了源代碼,做了一些修改(對不起Atif,我被迫這樣做是因爲我需要最快的解決方案),然後在我的應用程序中,我創建了一個文件夾,在該文件夾下創建了從Elmah定義的頁面繼承的常規aspx頁面。 該頁面只包含一行(例如:在詳細資料頁:<%@頁面語言= 「C#」 繼承= 「Elmah.ErrorDetailPage」 %>)

現在,我能夠運行ELMAH無論IIS 6的/ 7,並且它像一個魅力一樣工作。它使我避免了正確配置http處理程序和解決其工作的棘手問題!另外,配置安全性要簡單得多!

我不知道社區是否對此解決方案感興趣(如果是這樣,我準備發佈我的全部更改)。

希望這爲您提供關於如何解決這個問題以另一種方式(如果你需要關於如何使用它的完整說明修改後的dll,只是告訴我!)

1

在應用程序的想法IIS中的池設置將Managed Pipelin Mode設置爲Classic,如果您不想更改代碼或web.config文件。然後您的axd.s將像以前一樣工作。

相關問題