小弟我正在写一个web application,需要在application停止(服务器重起、IIS重起)的时候把当前application里面的数据记载在一个xml文件里,等到下次application启动的时候可以加载。现在各个method都已经就绪并且通过了测试,但是我发现当我重起IIS的时候,在Global.asax里面的application_end()并没有被fire,导致数据不能保存。
请问,IIS停止(重起)的时候会fire application_end()事件吗?如果不能,那我这种情况怎么办呢?万分感谢!
请问,IIS停止(重起)的时候会fire application_end()事件吗?如果不能,那我这种情况怎么办呢?万分感谢!
具体参阅 http://www.15seconds.com/issue/020220.htm
我的global.asax中没有别的东西,只是在application_end()中加入了一个把信息写入.txt文件的几行代码(这几行代码没问题,测试通过)。然后我就尝试重起IIS看.txt文件有没有被写入。结果当然是没有。——这就说明application_end()根本没有被fire。
不知道您有何高见?或者说,IIS重起根本不会导致application_end()被fire,我做了半天都是瞎忙?
你的程序就 重置reset.
那么,如果在deploy以后呢?我不能时常去rebuild吧?
如果IIS重起或者Server重起呢?Application_End()会不会被fire?
会触发这个事件。Application_End事件在下面这些情况下均会触发:
1、当你是用iisreset强行重新启动IIS的时候。
2、当你在inetmgr里停止IIS服务器的时候。
3、以及IIS意外中止的时候。
Applicatin_End激发的条件是最后一个Application实例被销毁的时候,这是一个托管对象该对象应该由CLR销毁。你的文件没有写是否是因为你的权限不够?或者你的写文件的方法有问题。