在应用程序的生命周期中触发Application_End时,有人可以告诉我吗?当所有会话结束时,Application_End会自动触发吗?+还有其他原因可以触发Application_End吗?
如何防止IIS卸载ASP.Net站点?
我有可能是世界上最愚蠢的网站 - 每小时唤醒一次,并将时间戳写入日志文件.当应用程序启动时,它会在日志中显示时间戳,并且当它死亡时,同样的事情.
在IIS中,我进入其应用程序池并将空闲超时设置为0,并将生成回收事件日志条目>常规时间间隔设置为False.
然而,该网站仍然每天卸载一次 - 我在日志中获得了App Unloading ...条目,它一直处于死状态,直到我下次访问它.
如何防止它卸载?
(显然,一旦我解决了这个问题,这个网站会做得更多 - 现在它可以尽可能简单地解决问题.)
我需要确定为什么应用程序池正在回收.(没有明显原因)
有没有办法在global.asax文件中确定application_end子的内部?
我已经在那里放了一些基本的日志记录,所以我知道当它关闭时,但我不知道为什么.
(并没有什么明显的......似乎每一个请求某些操作导致应用程序结束.我已经关闭了回收的所有正常原因,如超时,内存检查等等.相同的代码是在不同的服务器上正常工作,所以我确定这个设置有问题,但是什么?...)
我使用VS 2010开发和调试ASP.NET应用程序.我的ASP.NET应用程序与其他计算机上的其他应用程序保持一些连接.当我停止调试时,我希望释放这些连接.如果没有发生这种情况,这些其他应用程序将失败,我必须重新启动它们.
最后,我将终止代码存储在Global.asax.cs中的Application_End方法中,但是在停止调试时不会调用此终止代码.
有没有办法终止我的ASP.NET应用程序的调试,以便不是所有的东西都被立即杀死,但所以最后一个方法被调用,我可以添加我的终止代码?
我知道在以下情况下会调用Apllication_end:
但我的问题是什么时候它不会被调用?
我知道如果你手动结束w3wp进程或服务器将被严重关闭,它将不会被调用.
还有其他场景吗?
谢谢!
我想在停止调试或停止IIS Express网站时优雅地处理应用程序关闭,但我似乎无法运行Application_End.
application-end visual-studio-debugging iis-express visual-studio-2013
我想在申请结束时保存文件.
为此,我需要获取应用程序的根文件夹.
我知道这样做的唯一方法是使用Server.MapPath("~")
,但是这不起作用,即使HttpContext.Current.Server
是因为根据我的理解没有当前的上下文.
有一个聪明而简单的方法来获取该文件夹路径?我是否会遇到权限问题,尝试在根文件夹中创建文件?
任何替代想法如何实现这一目标?