如何在MVC .NET中关闭执行之前检测关闭并运行代码

时间:2013-07-17 15:21:36

标签: asp.net-mvc windows events shutdown

我有一个Web服务器集群(Windows 2008),用于从客户端收集使用情况数据。服务器全部批量处理数据,并在一定时间或数量的数据后发送。问题是我们正在使用AWS自动扩展,并且可以随时关闭机器。我想检测一个关闭事件,并在应用程序被杀死之前将使用数据发送到数据库。有谁知道这是否可行?

3 个答案:

答案 0 :(得分:1)

我想说,当您的服务器重新启动时,您可以执行这些任务(在代码/您自己中)。

否则请查看此处http://social.technet.microsoft.com/Forums/windowsserver/en-US/bd8ea190-9bf4-4915-8ed9-96ee5d6f336a/when-are-windows-server-20032008-shutdown-scripts-run-in-the-shutdown-process

答案 1 :(得分:1)

您可以在应用程序关闭之前订阅此事件并执行逻辑。

Application.Current.Exit + = DoSomething;

答案 2 :(得分:0)

WebActivator是NuGet包,旨在清理应用StartShutdown注册。

这将注册您的MyStaticClass.Start()MyStaticClass.Shutdown()方法:

[assembly: WebActivator.PostApplicationStartMethod(typeof(MyStaticClass), "Start")]
[assembly: WebActivator.ApplicationShutdownMethod(typeof(MyStaticClass), "Shutdown")]