Не вызывается Response.Flush по-прежнему отправляет Connection: Close в Response - PullRequest
1 голос
/ 01 октября 2010

У меня сложилось впечатление, что отсутствие вызова Response.Flush гарантирует, что Connection: Close не будет возвращен. Так как же вернуть Connection: Keep-Alive?

Я использую следующий код для возврата файла из ASP.NET.

Response.ContentType = type;
Response.AppendHeader("Content-Length", bytes.Length.ToString());
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
Response.Cache.SetExpires(expiryDate);
Response.Cache.SetLastModifiedFromFileDependencies();
Response.Cache.SetETag(etag);
Response.OutputStream.Write(bytes, 0, bytes.Length);

Ответ, который это генерирует:

HTTP/1.1 200 OK
Server: ASP.NET Development Server/9.0.0.0
Date: Fri, 01 Oct 2010 12:50:17 GMT
X-AspNet-Version: 2.0.50727
X-AspNetMvc-Version: 2.0
Content-Length: 34808
Cache-Control: public, must-revalidate
Expires: Fri, 01 Oct 2010 12:51:17 GMT
Last-Modified: Wed, 22 Sep 2010 16:00:33 GMT
ETag: "302E7A7D0D9DA91BABB53F6B6FE0B005"
Content-Type: image/gif
Connection: Close

1 Ответ

1 голос
/ 01 октября 2010

Я не уверен, что вы можете отправить соединение: Keep-Alive с сервером разработки.

Вы можете установить его в IIS7, перейдя в раздел «Заголовки ответа HTTP» в IIS Manager и щелкнув действие «Установить общие заголовки ...» справа.

...