Asp.Net作的一个同步程序,同步的方法是经过JQuery的Ajax调用,同步过程大概要执行20多分钟,程序部署到服务器后执行一段时间后就弹出执行失败的对话框,日志记录的错误信息是“正在停止线程”。服务器
一、根据“AspNet 正在停止线程“进行搜索,获得的结果基本都是跟”Response.End“有关的,但个人代码中没有Response.End,因此基本能够排除;线程
二、由于使用JQuery的Ajax,因此猜测会不会是由于Ajax超时致使,修改代码将返回状态弹出:debug
发现返回的status为”error“,也尝试过将timeout设置为一个较大值,发现问题依然存在,因此能够排除是JQuery Ajax超时;日志
三、使用Fiddler2进行监控,发现执行一段时间后报了500错误,显示的错误详细信息以下图:blog
到了这一步就好办了,能够知道是httpRuntime超时了,配置Webconfig就能够了,以下图:部署
设置好好后发不到服务器,再次运行程序,问题解决。同步
奇怪的是在本机运行的时候即便没有设置executionTimeout也不会出现问题,缘由是在本机的Webconfig中的compilation节点的有个debug属性设置为true,发布后的Webconfig中的compilation没有debug节点,当debug属性为false时,httpRuntime的executionTimeout属性才会生效。io