我的应用程序使用存储在缓存中的数据,任何时候都不超过 30MB。这些数据很重要,所以我不希望在不必要的崩溃或回收时丢失它。当应用程序回收时,是否有任何方法或方法可以在 SQL Server 中备份此数据?当应用程序回收时我可以在 SQL Server 上进行备份时调用任何方法吗?
问问题
251 次
1 回答
0
在 Application_End() 中的 global.asax 中添加代码以将数据保存到文件或数据库中。在应该被调用的礼貌关机中。
在某些情况下,如果没有礼貌关闭,则不会触发 Application_End 事件。此处介绍并总结如下:
此事件在活动应用程序正常关闭时触发。以下情况可能会导致此事件触发:
您编辑正在运行的应用程序的配置文件。这会导致 ASP.NET 卸载应用程序并重新加载它,因此 Application_End 将触发
您更改 bin 目录中的 dll。这也会导致 ASP.NET 卸载应用程序并重新加载它,因此 Application_End 将触发
您停止(或重新启动)IIS
如果您在 IIS6 应用程序池中或使用 aspnet 工作进程中打开了任何类型的进程回收,那么当该进程回收时,将为所有活动应用程序触发 Application_End 事件
导致进程正常重启的任何其他类似事件。
当进程没有正常退出时它不会触发 - 就像它死锁并且需要被杀死。此外,它不会在所有实时会话结束时触发,尽管在上述情况下所有活动会话都将在应用程序结束之前结束。细微的区别是所有实时会话都可以结束,但应用程序仍在空闲运行。
于 2013-10-01T14:33:05.193 回答