在asp.net应用程序结束页面查看计数数据不更新

时间:2015-12-02 05:18:26

标签: c# asp.net .net ado.net

我有asp.net应用程序。我强行结束这个应用程序,并在那时我想更新我的数据库中的视图页数值。如果有人知道plz帮助我。 我还在global.asax文件中编写了代码

void Application_End(object sender, EventArgs e)
{
   // Code that runs on application shut`enter code here`down
}

但是当我强行结束申请时,这不起作用。

2 个答案:

答案 0 :(得分:0)

我认为,如果对您来说重要的话,尝试保存数据是个不错的主意。

如果您仍想尝试使用.NET Framework 4.5.1,则可以收听HostingEnvironment.StopListening事件,该事件在应用程序关闭时触发:

void Application_Start(object sender, EventArgs e)
{
    HostingEnvironment.StopListening += (o, args) => SaveTheDataHere();
}

如果主机环境以有序的方式关闭,这将保存数据,而不是突然崩溃。

毋庸置疑,如果服务器机房出现火灾,BSOD停止操作系统,有人绊倒电源线等,则不会触发。

更好的方法是立即或定期(根据可接受的潜在数据丢失级别)将访问事件(计数)卸载到某些错误恢复外部进程(例如消息队列)。

答案 1 :(得分:0)

我得到了答案,

void Application_End(object sender, EventArgs e)
{
   // Code that runs on application shut`enter code here`down
}

此事件仅在发生以下情况时起作用。

  1. 更新web.config。

  2. 在BIN中更新dll文件。

  3. 停止或重新启动IIS。

  4. 应用程序池回收。

  5. 所以我实现了一个Web服务来定期更新我在数据库中的记录。