给予代码:ASP.net Global.asax的定时器随机停止工作
protected void Application_Start(object sender, EventArgs e)
{
var testTimer = new Timer(
LogTimer,
null,
new TimeSpan(0, 0, 0, 0),
new TimeSpan(0, 0, 0, 1)
);
}
public static void LogTimer(object sender)
{
"Hello".Log();
}
在看似随意的场合计时器停止射击,除非我重新启动该网站不会重新开始。
它不抛出任何异常,但看在Windows错误日志中有一些条目:
服务打开过程 “LSA” 在DLL“C:\ Windows \ System32下\ Secur32.dll“失败。此服务的性能数据将不可用。数据部分的前四个字节(DWORD)包含错误代码。
无法打开服务器服务性能对象。数据部分的前四个字节(DWORD)包含状态码。
该网站处于活动状态(应用程序池的启动模式是AlwaysRunning
。
据我了解,以这种方式使用的定时器是不是正是这种原因,关键的东西推荐的方法,但我没有拿出一个解释,为什么它默默无闻地显然是随机放弃的。
谢谢,就是这样! –