2011-08-26 23 views
5

Tôi đang cố gắng thiết lập luồng sự kiện bằng MVC.NET, Nginx và Fastcgi. Các tuyến hoạt động tốt cho tôi bằng cách sử dụng xsp4, nhưng tôi đã không thể làm cho nó hoạt động thông qua Nginx và Fastcgi. Mục tiêu của tôi là mở luồng EventSource và dữ liệu hạ lưu cho trang web của tôi.Đang cố gắng phát bằng cách sử dụng nguồn sự kiện qua nginx/fastcgi

Tôi đã thử thêm mô-đun 'ngx_http_upstream_keepalive' - http://wiki.nginx.org/HttpUpstreamKeepaliveModule - điều này thật buồn cười vì có "Lưu ý - điều này sẽ không hoạt động với HTTP upstreams" trong mô tả mô-đun. Nhưng chờ đợi, không phải là tên của module? Dù sao, có lẽ tôi đang bối rối ở đây. Tôi cũng đã thử thêm 'proxy_buffering off' vào nginx.conf của tôi, điều này cũng không giúp được gì.

Tôi hiểu điều này sẽ khá dễ thực hiện, nhưng tôi thua lỗ. Có một số tài sản tôi có thể thêm vào nginx.conf của tôi để thực hiện công việc này? Hoặc có điều gì đó để thêm vào Phản hồi trong .NET không?

Hãy giúp tôi StackOverflow!

Trả lời

6

Dựa trên những gì tôi đã đọc ở đây:

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

bạn cần phải tắt X-Accel-Buffering. Dưới đây là một số mã mẫu:

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

Hy vọng mã ở trên khắc phục được sự cố của bạn.

Các vấn đề liên quan