我阅读了Phil Haack关于使用IRegisteredObject接口的文章,以确保在关闭AppDomain时后台线程完成,并将其实现到我的代码中。但是,我不能完全确定如何模拟AppDomain崩溃来进行测试。如何模拟AppDomain崩溃?
发布于 2012-07-11 00:33:42
关闭AppDomain的最简单方法是停止父进程。在ASP.NET中,您可以通过回收或停止运行代码的应用程序池来做到这一点。我们有一些代码可以做到这一点,以确保日志记录被刷新,这就是我在过去测试它的方式。
至于完全崩溃,我真的不确定你是怎么做到的…宿主环境会捕获异常,因此它可能无法实现。您可以尝试Environment.Exit或Environment.FailFast,这将强制父进程立即退出?
编辑:我忘记了这里最简单的选项...只需保存Web.config -这将触发AppDomain回收!
一些替代方案..。
如果您正在使用IIS运行,则可以回收应用程序池,启动IIS管理器并执行以下步骤...
对于IIS Express,您只需右键单击任务栏中的图标,在UI中,您应该能够在那里停止应用程序。
对于Visual Studio Development Server (Cassini),您还可以使用任务栏停止应用程序。
https://stackoverflow.com/questions/11417013
复制相似问题