首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模拟AppDomain循环

模拟AppDomain循环
EN

Stack Overflow用户
提问于 2012-07-10 23:44:02
回答 1查看 2.9K关注 0票数 7

我阅读了Phil Haack关于使用IRegisteredObject接口的文章,以确保在关闭AppDomain时后台线程完成,并将其实现到我的代码中。但是,我不能完全确定如何模拟AppDomain崩溃来进行测试。如何模拟AppDomain崩溃?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-11 00:33:42

关闭AppDomain的最简单方法是停止父进程。在ASP.NET中,您可以通过回收或停止运行代码的应用程序池来做到这一点。我们有一些代码可以做到这一点,以确保日志记录被刷新,这就是我在过去测试它的方式。

至于完全崩溃,我真的不确定你是怎么做到的…宿主环境会捕获异常,因此它可能无法实现。您可以尝试Environment.ExitEnvironment.FailFast,这将强制父进程立即退出?

编辑:我忘记了这里最简单的选项...只需保存Web.config -这将触发AppDomain回收!

一些替代方案..。

如果您正在使用IIS运行,则可以回收应用程序池,启动IIS管理器并执行以下步骤...

  1. 在“Sites”下找到您的应用程序。它可能在其中的一个网站下面--可能是作为一个虚拟应用程序,选择‘管理应用程序’,然后选择‘高级应用程序池’。
  2. 在'Application Pools'.
  3. Right-click It‘下面找到应用程序池,然后点击directory.
  4. Right-click。

对于IIS Express,您只需右键单击任务栏中的图标,在UI中,您应该能够在那里停止应用程序。

对于Visual Studio Development Server (Cassini),您还可以使用任务栏停止应用程序。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11417013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档