Dot-Net

如何讓 Elmah 使用 ASP.NET 和 IIS 5.1 URL 路由

  • June 11, 2009

我在通過本地 IIS 5.1 Web 伺服器執行 ASP.NET MVC 應用程序時遇到問題。我相信這些問題與 IgnoreRoutes 有關,但我似乎無法製作 IgnoreRoute 來解決問題。

問題:

我可以查看我的 elmah 錯誤頁面 (localhost/mvcapplication1/elmah.axd),但是,缺少 CSS,並且所有連結都不起作用。

重現步驟

  1. 創建一個 ASP.NET MVC 1.0 應用程序

2)添加艾瑪。下載程序集,將它們添加到您的項目中並使用Elmah 安裝說明中的步驟

  1. 將您的應用程序從屬性頁切換到“使用本地 IIS Web 伺服器”-> Web

  2. 添加萬用字元映射。即打開IIS,進入屬性–>虛擬目錄–>配置–>添加: 執行檔:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 副檔名:.* 限制為: GET, HEAD, POST, DEBUG 取消選中“檢查文件是否存在”。

  3. 驗證是否routes.IgnoreRoute("{resource}.axd/{*pathInfo}");存在於 Global.aspx 的 RegisterRoutes 中。順便說一句,我也試過routes.IgnoreRoute("elmah.axd");

現在.. 執行應用程序並打開 localhost/mvcapplication1/elmah.axd。

沒有 CSS 和連結被破壞。

如果我刪除萬用字元映射,一切都很好,但是應用程序 URL 路由不再起作用。我明白這一點,但我應該能夠使用正確的 IgnoreRoute 方案拉起 elmah.axd。

想法??

將 FixIIS5xWildcardMapping 模組添加到您的 web.config:

<httpModules>
   &lt;add name="FixIIS5xWildcardMapping" type="Elmah.FixIIS5xWildcardMappingModule, Elmah"/&gt;
&lt;/httpModules&gt;

引用自:https://stackoverflow.com/questions/982267