c# - 在 VS2005 中调试时,Page.Flush 出现错误代码为 0x80070057 的 System.Web.HttpException 的原因是什么?

标签 c# asp.net debugging exception

完整的错误信息如下:

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 时,另一端必须有连接,否则会抛出此错误。编写网页时很容易进入“即发即弃”的模型,但是当客户端断开连接时(在这种调试情况下,您就是客户端),没有地方可以刷新.

我找到了两种解决方案:

  1. 包装 Response.Flush 并捕获异常。
  2. 在调用 flush 之前检查 Response.IsClientConnected。

我不是 100% 确定第二个...我仍在检查那个。

祝你好运!

关于c# - 在 VS2005 中调试时,Page.Flush 出现错误代码为 0x80070057 的 System.Web.HttpException 的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/593048/

相关文章:

ASP.NET VS2010 MsTest 调试器未在断点处停止

c# - 方法或操作未实现 : Reset all sessions in my application

c# - 在 SNMPv3 发现上获取 usmStatsUnknownEngineIDs

c# - 我们可以在运行时创建一个类的实例并通过代码调用类的所有方法吗?

C#上传视频到Youtube,不提示用户登录: Youtube API V3

python - 升级到 PyCharm 2016.2 后调试器中出现 BlockingSwitchOutError

php - SQL 查询未将日期读取为字符串

c# - SQL 查询性能 - 如果有的话,哪种方法更好?

c# - 通过 SWIG 为 C# 编译 Quantlib

c# - 从 cdn URL 下载图像文件