我得到间歇性的“System.Web.HttpException:请求超时。”当我的代码命中行response.write():
时出错sMessage = "Searching...0% complete."<br>
sSetVal = "<script>document.getElementById('MessageDiv').innerHTML='" & sMessage & "';</script>"<br>
Response.write(sSetVal)
请注意,当页面首次开始执行时(在执行上述代码之前), Response.BufferOutput = false 会被设置。
代码用于更新进度消息,而其他线程执行长时间运行的进程。一个线程连续运行并检查其他线程的状态。当其他线程完成时,该线程将更新的状态消息输出给最终用户。我意识到这可以(应该)使用ajax进行重新编码,但它是一个遗留应用程序,目前不是一个选项。
此代码每天运行10,000次以上,并且错误仅发生约5次 - 因此我怀疑当网站繁忙时,响应对象被其他线程阻止。但是,我不知道要在性能监视器中检查哪些性能计数器。或者这个问题是由别的东西引起的?我正在使用IIS 6,asp.net v2和vb.net
答案 0 :(得分:0)
您是否尝试将Response.BufferOutput = false
移至Response.Write
之前?
我会尝试监控内存使用和GC2集合的性能计数器。