尝试通过nginx / fastcgi使用eventsource进行流式传输

时间:2011-08-26 23:49:52

标签: asp.net-mvc stream nginx fastcgi

我正在尝试使用MVC.NET,Nginx和Fastcgi设置事件流。流式传输对我来说使用xsp4很好,但是我无法通过Nginx和Fastcgi来使用它。我的目标是打开一个EventSource流和下游数据到我的网站。

我尝试添加'ngx_http_upstream_keepalive'模块 - http://wiki.nginx.org/HttpUpstreamKeepaliveModule - 这很有趣,因为模块描述中有“注意 - 这对HTTP上游不起作用”。但等等,是不是模块的名称?无论如何,也许我在这里很困惑。我也尝试将'proxy_buffering off'添加到我的nginx.conf中,这也没有帮助。

我知道这应该很容易,但我不知所措。我可以添加一些属性来添加到我的nginx.conf中吗?或者有什么东西可以添加到.NET中的响应?

请帮我StackOverflow!

1 个答案:

答案 0 :(得分:6)

根据我在这里读到的内容:

http://wiki.nginx.org/X-accel

您需要关闭X-Accel-Buffering。以下是一些示例代码:

public ActionResult Stream(string id)
{
    Response.ContentType = "text/event-stream";
    Response.Buffer = false;
    Response.BufferOutput = false;
    Response.Headers["X-Accel-Buffering"] = "no";
    return View();
}

希望上面的代码可以解决您的问题。