【发布时间】:2012-01-30 11:18:50
【问题描述】:
在我的网络应用程序中,Application.End 在每次请求后由于某种原因被调用,并且应用程序重新启动。当我在Applicaion_End 中设置断点时,我没有得到有用的堆栈跟踪。此外,事件查看器中没有条目。根据 MSDN,以下情况可能会导致应用程序重启:
- 从应用程序的 Bin 添加、修改或删除程序集 文件夹。
- 添加、修改或删除本地化资源 App_GlobalResources 或 App_LocalResources 文件夹。
- 添加、修改或删除应用程序的 Global.asax 文件。
- 在 App_Code 中添加、修改或删除源代码文件 目录。
- 添加、修改或删除配置文件配置。
- 添加、修改或删除 Web 服务引用 App_WebReferences 目录。
- 添加、修改或删除应用程序的 Web.config 文件。
我猜我的代码更改了一些触发应用程序重启的文件。有什么办法可以查出到底是什么原因导致应用重启?
编辑:我现在通过单步执行代码并查看资源管理器中的时间戳解决了我的问题。在应用程序启动时,我正在从访问数据库中读取一个值,该值会导致创建和删除一个 .ldb 文件。然而,这个问题还没有得到回答。是否有任何日志记录导致应用程序重新启动的此类事件?
【问题讨论】:
-
你在做 iis 吗?可能是应用池回收导致的重启。
-
为什么不按修改日期对文件和文件夹进行排序?
-
@BigMike 是的,我在 IIS 上。我启用了应用程序池回收的所有日志条目,但事件查看器中没有条目,所以我认为这只是应用程序重新启动。此外,同样的事情发生在 Visual Studio 开发服务器中。
-
@MihalisBagos 谢谢 :) 出于某种原因,
bin文件夹的时间戳在每次请求时都会更新,但是其中的所有文件都没有更新时间戳。
标签: asp.net iis web-applications application-restart