相关疑难解决方法(0)

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

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

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

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

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

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

asp.net

14
推荐指数
2
解决办法
2万
查看次数

Global.asax没有为Release版本触发

我们的一个应用程序有一个机制,可以在遇到特定级别的异常时自动通过电子邮件发送帮助台.一个特殊的例外,一个NullReferenceException,导致一些问题,我相信它是由IIS回收和丢失会话引起的.为了证明这一点,我想在应用程序启动/停止/回收时记录,并在global.asax文件中添加了一些代码来执行此操作.在调试模式下运行时,日志消息被写出并且一切都很好.当我切换到Release build时会出现问题,它会触发Web部署项目构建到IIS中配置的文件夹.

当我导航到应用程序时,未调用ApplicationStart方法,因为未创建日志文件且未更新事件日志.当我重新启动IIS时,ApplicationEnd也会发生同样的情况,即不会创建日志.

为什么它适用于Debug版本而不适用于Release版本?我一直在踢这几个小时,这让我疯了.

提前致谢

**[编辑]:我不是100%确定发生了什么,但它现在似乎正在发挥作用.我想也许我们用于日志记录的程序集可能在ApplicationStart执行时没有加载,所以我删除了所有代码,只是在方法中创建了一个文本文件.看哪,文件已经创建了!所以我添加了一个if(logger!= null)类型检查以尝试输出一些诊断但没有写出任何内容.所以我尝试了一个try/catch并写了一个空白文件"exception.txt",如果抛出异常但仍然没有创建文件 - 尽管生成了事件日志和预期的日志文件!我糊涂了!**

asp.net global-asax

4
推荐指数
3
解决办法
6362
查看次数

标签 统计

asp.net ×2

global-asax ×1