我正在尝试使用HTTP将低延迟数据从服务器推送到客户端。
我正在使用ASP.NET Web API,我在我的控制器中有这个:
var response = HttpContext.Current.Response;
for (int i = 0; i < 10; i++)
{
response.BinaryWrite(Encoding.UTF8.GetBytes(i.ToString()));
response.Flush();
Thread.Sleep(200);
}
这应该每隔200毫秒将数字0到9发送到客户端,但它会向流添加一条错误消息,指出“服务器无法在发送HTTP标头后设置状态”。我甚至都不是我能抓住的例外......我只是将错误页面HTML写入响应流....
在这个例子中,我甚至没有使用任何自定义标题......这没有任何意义。我尝试不同的方式让它以某种方式工作,但当我将它部署到分段时,我得到了相同的行为,区别在于登台服务器在Ubuntu上使用Mono和Apache而不是IIS在Windows上使用常规.NET运行它。
我正在寻找一个解释为什么它不仅仅是修复...