ASP.NET应用程序停止事件?

时间:2010-03-22 11:28:17

标签: asp.net events

我有一个ASP.NET应用程序,它实现了自定义的内存缓存。我正在使用它而不是ASP.NET的缓存机制,因为我需要一种更复杂的方法来处理从缓存中删除的内容。此自定义缓存的一部分是一个单独的线程,偶尔会搜索从缓存中丢失的数据。

我需要做的是发信号通知此缓存维护线程在ASP.NET应用程序“退出”时停止。我想这基本上等于网站在IIS中停止的时候。

我可以使用预先存在的事件来执行此操作吗?感谢。

2 个答案:

答案 0 :(得分:2)

您可以创建Global.asax文件并覆盖Application_End方法。

http://www.csharphelp.com/2006/06/setting-up-global-objects-with-the-global-asax-file/

答案 1 :(得分:1)

从您拥有此自定义内存缓存的那一刻起,我想您的asp.net应用程序会以多种方式与此缓存进行通信。

那么为什么不在这个cashe上创造一个全局价值,并在global.asax上做出类似的东西

void Application_Start(object sender, EventArgs e) 
{
  GlobalCacheUsed ++;
}

void Application_End(object sender, EventArgs e) 
{
  GlobalCacheUsed --;
}

并且您的线程只检查 GlobalCacheUsed

我可以问您使用与您的应用进行通信的方式吗?我已经和你做了类似的事情,我有一个类,我使用数据库表和其他使用内存的缓存。我清除缓存的触发器是用户事件或定时器。

希望这对你有所帮助。