繁体   English   中英

Elmah.mvc-交替生根

[英]Elmah.mvc - Alternate rooting

我安装了ELMAH.MVC nuget软件包,它记录了我的ASP.NET MVC错误。 但是,当我转到http://www.example.com/zh-cn/elmah时 ,页面未设置样式,并显示以下错误:

在控制器“ Elmah.Mvc.ElmahController”上找不到公共操作方法“样式表”。

我有以下路线:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("content/{*pathInfo}");
        routes.IgnoreRoute("favicon.ico");

        routes.MapRoute(
        name: "users",
        url: "{culture}/users/{userUrl}",
        defaults: new
        {
            controller = "AccountProfile",
            action = "Index",
            culture = ""
        }
    );

        routes.MapRoute(
                        name: "SpecificCulture",
                        url: "{culture}/{controller}/{action}/{id}",
                        defaults: new
                        {
                            controller = "Home",
                            action = "Index",
                            id = UrlParameter.Optional,
                            culture = ""
                        }
                    );
    }

我的web.config appSettings

<appSettings>
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="BaseAddress" value="http://localhost:3453/" />
    <add key="MailActive" value="true" />
    <add key="aspnet:UseHostHeaderForRequestUrl" value="true" />    
    <add key="elmah.mvc.disableHandler" value="false" />
    <add key="elmah.mvc.disableHandleErrorFilter" value="false" />
    <add key="elmah.mvc.requiresAuthentication" value="true" />
    <add key="elmah.mvc.IgnoreDefaultRoute" value="false" />
    <add key="elmah.mvc.allowedRoles" value="Administrator" />
    <add key="elmah.mvc.allowedUsers" value="*" />
    <add key="elmah.mvc.route" value="elmah" />  
</appSettings>

我相信这个问题正在我的路线上,但是真诚的我不知道该怎么做。

任何帮助都会很棒

编辑

正如史蒂夫·牛顿(Steve Newton)所接受的那样,我添加了以下路线:

    routes.MapRoute(
    name: "elmah",
    url: "{controller}/elmah",
    defaults: new
        {
            controller = "elmah",
            action = "Index",
        }
    );

谢谢

这看起来像路由问题,如提供的答案中所述。 为什么不按原样保留键配置的Elmah路由,并创建一个允许example.com/elmah的新路由? Elmah不会因文化而异,是一个干净的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM