Попытка потоковой передачи с использованием источника событий через nginx / fastcgi - PullRequest
5 голосов
/ 27 августа 2011

Я пытаюсь настроить поток событий, используя MVC.NET, Nginx и Fastcgi.Потоковая передача работает нормально для меня с использованием xsp4, но я не смог заставить его работать через Nginx и Fastcgi.Моя цель - открыть поток EventSource и передать данные на мой веб-сайт.

Я попытался добавить модуль 'ngx_http_upstream_keepalive' - http://wiki.nginx.org/HttpUpstreamKeepaliveModule - что забавно, потому что есть "Примечание - это Этоне будет работать с HTTP upstreams "в описании модуля.Но подождите, разве это не название модуля?В любом случае, может быть, я запутался здесь.Я также попытался добавить 'proxy_buffering off' в мой nginx.conf, что также не помогло.

Я понимаю, что это должно быть довольно легко сделать, но я в растерянности.Есть ли какое-либо свойство, которое я могу добавить в свой nginx.conf, чтобы это работало?Или есть что-то, что можно добавить к ответу в .NET?

Пожалуйста, помогите мне StackOverflow!

1 Ответ

6 голосов
/ 26 сентября 2011

На основании того, что я прочитал здесь:

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();
}

Надеюсь, приведенный выше код исправит вашу проблему.

...