首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Google和HTTPListener获得一台HTTPListener

使用Google和HTTPListener获得一台HTTPListener
EN

Stack Overflow用户
提问于 2011-06-03 13:14:35
回答 1查看 1.8K关注 0票数 5

我已经开发了一个管理工具,在这里我使用一个简单的HTTPListener返回HTML页面。IEFF的一切都很好,但是当使用Google 时,我得到了一个ProtocolViolationException。

这是产生错误的简化代码(从listener.BeginGetContext引发):

代码语言:javascript
复制
byte[] buffer = System.Text.Encoding.UTF8.GetBytes("<html><body>response sent!</body></html>");
context.Response.ContentLength64 = buffer.Length;
context.Response.OutputStream.Write(buffer, 0, buffer.Length); //<-- crashes here
context.Response.OutputStream.Close();
context.Response.Close();

例外

要写入流的字节超过指定的内容长度字节大小。

被抛出线

代码语言:javascript
复制
 context.Response.OutputStream.Write(buffer, 0, buffer.Length);

Chrome做什么或者不做什么来产生这个错误?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2012-02-04 13:52:41

我知道为时已晚,但我只是遇到了这个问题(不是Chrome),并发现了这个问题。当您尝试为OutputStream编写响应HEAD请求的东西时,这段看似防弹的代码会失败。然后将ContentLength64设置为0,并且由于某种原因,当您试图更改它时不会引发任何异常,新值只是被默默地忽略。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6227534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档