asp.net程序就是这样,说不定因为一个什么原因就重启了。。。
刚才看了一下,当前HttpApplication创建时,会调用Application_Start。
而当HttpApplication被Unload时会调用Application_End。
你new的HttpApplication并不多,可能是HttpApplication还没有被Unload吧。
http://msdn.microsoft.com/en-us/library/ms178473.aspx
我在想是否有办法可以看到堆(Heap)上的对象,如果有两个有效的HttpApplication对象,那表示HttpApplication还没有Unload。我知道WinDbg可以,但是比较麻烦。
应用池的时间决定一切?
我就知道,是应用程序重启了,没遇到过自动重启的时候。。
application改变的条件:
1. iis重启
2. 代码改变
3. 应用程序池回收时间到了
4. 应用程序池空闲时间到了
符合以上条件后,第一个request过来时会调用Application_Start。其中3和4是可以配置的(应用程序池属性 -> 性能)
你看下应用程序池属性里回收中回收工作进程和性能中空闲超时是否启用了?不想重复运行Application_Start就把复选框不要选中
我也遇到与楼主相同的问题,请问楼主的问题解决了吗,跪求!!!!!
楼主问题解决了么,我也遇到了同样的问题!好纠结!