加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – Global.asax没有为Release版本触发

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

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

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

提前致谢

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

解决方法

我们遇到了这个问题,并且缺少PrecompiledApp.config文件就是解决方案.如果没有它,global.asax事件不会在IIS6下使用ISAPI过滤器触发,并且rewritten.aspx方法记录为例如在blog.codeville.net上.我们使用msbuild在部署之前预编译站点.

当我们的构建停止工作时,我们在这个问题上摸不着头几个小时.事实上,在强迫性的管家模式中,我已经从源代码控制中删除了这个文件,因为我认为它是多余的.将其添加回来修复问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读