在我们的Application_Start
事件处理程序中,我们正在执行一些由于文件锁定问题而间歇性失败的操作。在这种情况下,我们希望将应用程序返回到“未启动”状态。
我的意思是,用户将看到一个错误页面,然后当用户下次访问该网站时,Application_Start
事件将再次被触发。
我们正在使用ASP.NET 3.5,WebForms和MVC。
答案 0 :(得分:3)
AppDomain.Unload提供您正在寻找的内容,但我不会推荐它。
有很多渔获量;以编程方式拆除应用程序域并非没有自己的一组问题(例如,如果线程在本机代码中被阻止,您可能会看到 CannotUnloadAppDomainException )并且通常是一个糟糕的设计,IMO。
你要做的事情是非常传统的;我会一起重新考虑这种方法。如果您只需要在应用程序域级别执行一次代码,则有许多更好的方法可以执行此操作,例如静态或HttpRuntime缓存中的标志。请注意网络花园和并发场景。
祝你好运。答案 1 :(得分:0)
我很确定无法从应用程序中退出/强制停止webForms应用程序。但是,阻止应用程序启动的一种方法是在application_start中生成未处理的错误。这将阻止启动发生,并且在下次点击您的webForms应用程序时,application_start将再次尝试。