2010-10-01 5 views
1

J'avais l'impression que le fait de ne pas appeler Response.Flush assurerait que Connection: Close ne serait pas renvoyé. Alors, comment puis-je retourner Connection: Keep-Alive? J'utilise le code suivant pour renvoyer un fichier d'ASP.NET.Ne pas appeler Response.Flush envoie toujours la connexion: Fermer dans la réponse

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

La réponse est ce qui génère:

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 

Répondre

1

Je ne suis pas sûr que vous pouvez envoyer la connexion: keep-alive avec le serveur de développement.

Vous pouvez le définir dans IIS7 en accédant à la section "HTTP Response Headers" dans le Gestionnaire des services Internet et cliquez sur l'action "Définir les en-têtes communs ..." sur la droite.

Questions connexes