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