微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何确定ASP.NET应用程序域的生命周期

我们有一个应用程序收集计数器统计信息,我们希望在执行iisreset命令后重置值,这就是全部.

微软称Application_Start是:

Called when the first resource (such
as a page) in an ASP.NET application
is requested. The Application_Start
method is called only one time during
the life cycle of an application
. You
can use this method to perform startup
tasks such as loading data into the
cache and initializing static values.

这就是我们目前的做法:

protected void Application_Start(object sender,EventArgs e)
{
    _counters.Get<AutoCounter>("TAS:RequestCount").Reset();
    _counters.Get<AutoCounter>("TAS:RequestTime").Reset();
    _counters.Get<AutoCounter>("TAS:TimeBetweenErrors").Reset();
    _counters.Get<AutoCounter>("TAS:ErrorCount").Reset();
}

但是,它们会以意外的间隔重置.什么决定应用程序域的生命周期何时结束,并在下一个请求中调用方法

解决方法

Web应用程序重新启动的原因有很多.此 article包括以下部分列表.

>编辑web.config
> machine.config已编辑
>编辑global.asax
>文件在bin中更改
Web应用程序的目录,或者其中之一
bin的子目录
>创建,重命名或创建目录
在Web应用程序目录中删除
>一个ASP.NET文件(aspx,asmx等)
编辑(因此重新编译)
超过20次,认设置为
机器配置为元素
命名为numRecompilesBeforeApprestart
>通过各种设置的方式
中的属性
machine.config中的元素,哪个
影响重启/关机
工人过程本身.在Windows上
2003年的时候,没有使用IIS5隔离
模式(认情况下不使用),
这些元素是
忽略而不是设置
IIS管理器中的应用程序池是
用过的

我的猜测是你的方法很好,但现在你真正想知道的是导致重启的原因以及你是否应该警惕.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐