ASP.NET Web API:服务器无法在发送HTTP标头后设置状态

时间:2017-03-17 22:38:01

标签: http asp.net-web-api stream mono server-sent-events

我正在尝试使用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运行它。

我正在寻找一个解释为什么它不仅仅是修复...

0 个答案:

没有答案