池上的备份缓存回收

时间:2013-10-01 14:27:57

标签: asp.net sql-server asp.net-mvc caching

我的应用程序使用存储在缓存中的数据,任何时刻都不超过30MB。这些数据非常重要,所以我不希望在不必要的崩溃或回收中丢失它。当应用程序回收时,是否有任何方法或方法在SQL Server中备份此数据?有什么方法可以在应用程序回收时调用,在那里我可以在SQL Server上进行备份吗?

1 个答案:

答案 0 :(得分:0)

添加代码以将数据保存到Application_End()中的global.asax中的文件或数据库。在礼貌关闭中应该被调用。

在某些情况下,如果没有礼貌关闭,将不会触发Application_End事件。这些内容涵盖here并总结如下:

  

正常应用程序正常关闭时会触发此事件。该   以下事情可能导致此事件触发:

     
      
  1. 您编辑正在运行的应用程序的配置文件。这会导致ASP.NET卸载应用程序并重新加载它,因此Application_End   将解雇

  2.   
  3. 您更改了bin目录中的dll。这也会导致ASP.NET卸载应用程序并重新加载它,因此Application_End将触发

  4.   
  5. 您停止(或重新启动)IIS

  6.   
  7. 如果在IIS6应用程序池中启用了任何类型的进程回收,或者使用aspnet工作进程,那么在该进程中   回收Application_End事件将触发所有活动的事件   申请

  8.   
  9. 导致进程正常重新启动的任何其他类似事件。

  10.         

    当进程没有正常退出时它不会触发 - 就像它一样   陷入僵局,需要被杀死。所有现场直播都不会发射   会议已结束,但所有活动会议将在会议结束前结束   应用程序在上述场景中结束。微妙的区别在于   所有实时会话都可以结束,但应用程序仍处于空闲状态。