完整的错误信息如下:
An exception of type 'System.Web.HttpException' occurred in System.Web.dll but was not handled in user code
Additional information: The remote host closed the connection. The error code is 0x80070057.
和有问题的代码:
char[] buffer = oPage.HTML.HTML.ToCharArray();
Page.Response.Write(buffer, 0, buffer.Length);
Page.Response.Flush();
Page.Response.End();
oPage.HTML.HTML 是我们应用程序使用的自定义页面对象中的一个字符串。异常在 Page.Flush() 上触发并且似乎是良性的 - 我只是点击“继续”并且一切顺利。这永远不会出现在运行时。
我已经搜索了很多很多 Google 搜索了很多兔子洞,但一无所获。 Visual Studio 2005、Vista Ultimate (IIS7)。
最佳答案
我处理同样的错误已经有一段时间了,我的理解是调用 Flush 时,另一端必须有连接,否则会抛出此错误。编写网页时很容易进入“即发即弃”的模型,但是当客户端断开连接时(在这种调试情况下,您就是客户端),没有地方可以刷新.
我找到了两种解决方案:
- 包装 Response.Flush 并捕获异常。
- 在调用 flush 之前检查 Response.IsClientConnected。
我不是 100% 确定第二个...我仍在检查那个。
祝你好运!
关于c# - 在 VS2005 中调试时,Page.Flush 出现错误代码为 0x80070057 的 System.Web.HttpException 的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/593048/