为什么我的ASP .NET网站没有触发Global.asax事件?

gil*_*s27 14 asp.net

我一直在针对Cassini(内置的Web开发服务器)开发ASP .NET 3.5 Web应用程序,而不是针对IIS.

在我的Global.asax文件中,在Application_Start事件处理程序中,我有一些代码记录了网站启动的事实.这一切都适用于卡西尼.

由于使用IIS6将站点部署到测试服务器上的虚拟目录,我发现没有写入日志条目,因此我得出结论,Application_Start处理程序未触发.

然后我尝试删除虚拟目录并直接从测试服务器上的网站根目录运行该站点,但它没有任何区别 - 仍然没有应用程序启动的日志条目.

我知道无论我的部署环境如何,这些事件都应该触发,有没有人知道这里出了什么问题?

小智 10

我遇到了类似的问题,我正在和它摔跤几天.最初的问题是其他问题 - 在Application的EndRequest处理程序中没有设置cookie.最后,我以某种方式设法意识到,问题实际上是事件根本没有被解雇.花了一些时间才找到它,因为一切都在我的机器上工作正常.但在生产服务器上 - 安静如坟墓.

我只是写这个,因为我真的希望能从至少一个人的麻烦中解脱出来.

问题的真正原因是生产服务器上缺少global.asax文件.

global.asax文件存在于我的计算机上,因为开发环境位于那里.我准备了一个部署bat文件,它从开发文件夹中删除文件,删除不必要的文件并生成一个包.好吧 - global.asax文件在该脚本中被标记为删除.在开始部署之后,所有问题都消失了.

我希望我帮忙.


Dav*_*vid 9

如果您向您的应用发出请求,那么"Application_Start"会被激活吗?我不相信它会在第一次提出要求之前启动.