我在ASP.NET MVC 4站点上通过NuGet安装了ELMAH.
在开发机器上,应用程序安装在根目录下.这一切都有效,并且通常是ELMAH页面.它总是这样,我的意思是开发机器上的工作,不是吗?
但是在服务器上,应用程序安装在子文件夹(〜/ tracker)中.虽然ELMAH工作正常,但页面没有样式,因此难以阅读.
我需要做些什么才能让页面变得风格化?
据推测,样式来自可以在web.config中配置的资源.但是怎么样?
我发现我收到了一个高度相关的错误:
System.Web.HttpException: A public action method 'stylesheet' was not found on controller 'Elmah.Mvc.ElmahController'.
Run Code Online (Sandbox Code Playgroud)
路径如下:
/tracker/elmah/stylesheet
Run Code Online (Sandbox Code Playgroud)
这显然与ELMAH页面源中的Link标签有关:
<link rel="stylesheet" type="text/css" href="/tracker/elmah/stylesheet" />
Run Code Online (Sandbox Code Playgroud)
但是如何配置此网址?
你的"elmah.mvc.route"设置是什么?如果从路径中删除"/ tracker",你能看到elmah屏幕吗?
开箱即用,elmah的路线设置为:
<add key="elmah.mvc.route" value="elmah" />
Run Code Online (Sandbox Code Playgroud)
你的需要是
<add key="elmah.mvc.route" value="tracker/elmah" />
Run Code Online (Sandbox Code Playgroud)
您的路由配置正确地重定向控制器操作请求,但elmah打印样式表地址本身而不使用您的路由配置,因此您需要告诉它使用哪个路由/ URL作为其引用.
| 归档时间: |
|
| 查看次数: |
1693 次 |
| 最近记录: |