【问题标题】:How can I route multiple urls to my Elmah controller如何将多个 url 路由到我的 Elmah 控制器
【发布时间】:2017-04-20 13:03:39
【问题描述】:

如何允许多个 url 访问我的 Elmah 错误日志视图?

现在我已经完成了我的网络配置设置,所以 url example.com/Admin/ErrorLog 进入错误日志,这很好用。我希望路线 example.com/ErrorLog 也可以通往 Elmah 的景色。

下面是配置和路由文件。

  <appSettings>
    ...
    <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.route" value="Admin/ErrorLog" />
    ...
  <appSettings>

RouteConfig.cs 中没有什么特别的地方

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


    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Account", action = "PublicHome", id = UrlParameter.Optional }
    );
}

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-routing elmah


    【解决方案1】:

    您可以创建一个带有 Index 操作的 ErrorLogController,将重定向结果返回到 admin/errorlog。如果您不希望在请求 /errorlog 时更改 URL,请使用 URL 重写模块在 web.config 中设置重写规则。

    【讨论】:

    • 这听起来可行,但我希望在没有新的重定向控制器的情况下做到这一点。可能带有路线映射或 elmah 内置的东西。
    • 据我所知,elmah.mvc 中没有内置任何内容。不过,URL 重写非常简单且有据可查。
    猜你喜欢
    • 1970-01-01
    • 2013-09-01
    • 2013-11-04
    • 2016-07-18
    • 1970-01-01
    • 2013-02-02
    • 2020-02-19
    • 1970-01-01
    • 2012-10-26
    相关资源
    最近更新 更多