asp.net-mvc-3 – asp.net mvc 3和elmah.axd – 又是404

大家好,我知道这已经多次作为先前的问题发布,但我已经完成了每个问题和他们提出的解决方案,我仍然无法克服我的404问题.我正在运行Elmah 1.1 32位.我已经提到了 ASP.NET MVC – Elmah not working and returning 404 page for elmah.axd,但在应用这些建议后我没有运气.

我正在运行ASP.NET MVC 3.这是我的web.config:

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

    

<errorLog type="Elmah.SqlErrorLog, Elmah"
    connectionStringName="dbconn" />

    <errorFilter>
        <test>
            <jscript>
                <expression>
                <![CDATA[
                // @assembly mscorlib
                // @assembly System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
                // @import System.IO
                // @import System.Web

                HttpStatusCode == 404
                || BaseException instanceof FileNotFoundException 
                || BaseException instanceof HttpRequestValidationException
                /* Using RegExp below (see http://msdn.microsoft.com/en-us/library/h6e2eb7w.aspx) */
                || Context.Request.UserAgent.match(/crawler/i)                      
                || Context.Request.ServerVariables['REMOTE_ADDR'] == '127.0.0.1' // IPv4 only
                ]]>
                </expression>
            </jscript>
        </test>
    </errorFilter>

    
    
      
      
      
      
      
      
    
    
      
    

我使用以下方法忽略了我的.axd路由:
            routes.IgnoreRoute( “{}资源个.axd / {*} PATHINFO”);

我在IIS7上运行该站点,启用了32位模式.我尝试了很多不同的配置选项,但都无济于事.有任何想法吗?

谢谢

我的错.我的.axd忽略路由规则在默认路由映射后排序.默认路由映射规则与URL elmah.axd匹配.我想我没有意识到忽略规则必须列在这条路线之上.谢谢大家的帮助!

routes.MapRoute(
        "Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters
        new
        {
            controller = "Home",
            action = "Index",
            id = UrlParameter.Optional
        } // Parameter defaults
    );

    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

只需移动routes.IgnoreRoute(“{resource} .axd / {* pathInfo}”);在默认路由映射解决此问题之前.

相关文章
相关标签/搜索