ASP.NET MVC应用中Application_Start未触发

3
我有一个ASP.NET MVC应用程序,其中Application_Start事件似乎没有触发。症状是,在该处理程序中的NLog日志语句不生成日志条目,并且我的所有路由都没有填充(因此我所有对控制器操作的请求都返回404)。
服务器上的静态文件(例如favicon.ico)被正确地提供。
我在Application_BeginRequestApplication_EndRequest中有日志语句。这些为控制器方法和静态文件生成日志条目,因此我相当自信应用程序池已正确配置。
这个问题出现在我们的演示服务器上,但不会出现在我的本地机器或开发服务器上。
你有什么想法是什么原因引起的吗?

1
你的测试环境机器配置文件中是否更改了restartOnExternalChanges属性? - Brad Christie
1
Application_Start被触发时,日志处理是否有可能会失败?我认为在Application_Start中,Session对象是不可用的。 - Tasos K.
1
你尝试过回收IIS吗? - LDJ
我没有访问machine.config的权限,但我正在调查。我认为这不太可能是Application_Start中日志处理失败的简单问题,因为1)操作返回404,所以路由填充也失败了2)在开发服务器上,Application_Start中的日志处理程序可以正常工作。可能存在一个单一的问题导致日志和路由填充都失败了;我不知道如何很好地区分它与方法根本没有触发。 - joelt
1
你的日志代码中是否出现了未处理的异常,导致应用程序终止?是否有任何自定义模块正在启动并引发未处理的异常? - vijayst
显示剩余2条评论
1个回答

0

最终问题是由多个因素共同导致的。根本原因是DLL版本不一致,我通过将项目配置为将有问题的程序集复制到我的bin文件夹中来解决了这个问题。除此之外,在Application_Error中还有一些代码阻止了实际异常的显示。


嗨。我遇到了同样的问题,你是如何解决dll问题的? - Smeegs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接