为什么工作线程使我的ASP.NET生成器在睡眠期间遇到ThreadAbortException?
|
我在 Windows Server 2008,IIS 7.5上运行的ASP.NET应用程序中生成一个工作线程.这个工作线程做的第一件事就是睡眠N秒,然后它才能真正起作用.在睡眠期间,捕获一个ThreadAbortException. 你能解释一下这种行为,并且你的奖励点指向我可以用来调整行为的任何IIS / ASP.NET设置. 编辑:更多信息.捕获ThreadAbortException的建议帮助我解决了这个问题,谢谢.根据我学到的东西,我完全重写了这个问题的措辞,但同样的问题,为什么这个工作线程在睡眠中会中止? 解决方法ThreadAbortException发生在你的工作线程上,因为有人在其上调用了Thread.Abort,所以它可能与你的工作线程没有直接关系,而是一些外部原因.您应该检查的第一个地方是您自己的代码,您可以执行任何线程管理或中止.否则,对于IIS,这可能是由于工作进程(w3wp.exe)或应用程序池或AppDomain被回收.
回收可能是由于应用程序池的空闲超时设置,定期计划的回收或内存/ CPU使用触发器.这些可通过服务器资源管理器中的IIS配置管理器(在Win 2K8上)或仅运行inetmgr.exe进行配置.根据Tess的博客here,AppDomain回收还有很多其他原因:
该博客文章还提供了有关追踪回收发生原因的信息.对于初学者,尝试查看事件日志(eventvwr.msc)以查看是否有任何详细信息. 您也可以尝试直接调试工作进程.将VS调试器附加到运行代码的w3wp.exe实例,在Thread.Abort上添加断点(您可能需要在调试器选项中启用“.NET Framework源步进”),并查看Abort源自何处使用调用堆栈窗口.这不会告诉你它为什么会发生,但至少你会知道是谁在做这件事. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- .net – 实现UserManager以使用自定义类和存储过程
- asp.net-mvc-3 – 对复选框不起作用的MVC不显眼的验证
- asp.net – RedirectToAction MVC2的问题 – 不能将类型“S
- 管理页面来管理asp.net会员提供商和角色管理
- asp.net – 如何在asp标签中将文本与中心对齐
- ASP.NET Membership API强制更改密码
- asp.net – 我可以在超链接上显式指定NavigateUrl吗?
- asp.net-mvc – 使用disabled =“disabled”属性创建一个Se
- asp.net – 什么时候在普通的HTML上使用runat =“server”
- 2008-10-30 15:28
- asp.net – ASP:ItemTemplate中的DropDownList:
- asp.net-mvc – 修改模型时更新视图
- ASP.NET通过分布式Session提升性能
- asp.net-mvc-2 – 为什么我们在ASP.NET MVC中使用
- ASP.NET MVC的MS应用程序示例?
- 如何调试ASP.NET HTTPHandler
- asp.net-mvc – ASP.NET MVC:AJAX调用的控制器是
- asp.net-core – 为Microsoft.CodeAnalysis.Comm
- RavenDB ASP.NET会话提供程序?
- asp.net-mvc – 适用于大型网站的ASP.NET MVC项目
