【发布时间】:2010-09-23 04:00:36
【问题描述】:
我们有一个收集计数器统计信息的应用程序,我们希望在执行iisreset 命令后重置这些值,仅此而已。
微软说Application_Start 是:
当第一个资源(例如 作为页面)在 ASP.NET 应用程序中 被要求。 Application_Start 方法在期间只被调用一次 应用程序的生命周期。你 可以使用此方法进行启动 诸如将数据加载到 缓存和初始化静态值。
这就是我们目前的做法:
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();
}
但是,它们会以意想不到的间隔重置。什么决定了应用程序域的生命周期何时结束以及在下一个请求时调用此方法?
【问题讨论】:
-
是什么让您认为间隔是任意的而不是意外的?
-
@Conrad,任意可能不是正确使用的词 - 我将其更改为您的建议。谢谢!
标签: asp.net iis global-asax