2009-05-22 21 views

Respuesta

4

Uso HttpWebRequest en lugar de WebClient (que es ligeramente menos conveniente, pero no por mucho) y establezca la propiedad KeepAlive-false.

No he probado esto - es posible que simplemente cambiará el valor del encabezado de conexión en lugar de eliminarlo, pero vale la pena intentarlo. Los documentos para la propiedad Connection al menos sugieren que solo agrega Keep-Alive.

+5

Una cosa a destacar es que haciendo esto no * eliminar * de la conexión encabezado, aunque lo cambia de "Conexión: Keep-Alive" a "Conexión: Cerrar". –

15

Me encontré con el mismo problema esta mañana. Tras el toque de Skeet, se puede lograr pasando HttpWebRequest a WebClient por heredarlo:

class MyWebClient : WebClient 
{ 
    protected override WebRequest GetWebRequest(Uri address) 
    { 
     WebRequest request = base.GetWebRequest(address); 
     if (request is HttpWebRequest) 
     { 
      (request as HttpWebRequest).KeepAlive = false; 
     } 
     return request; 
    } 
} 

cabeceras Ahora enviados incluirán Connection : close

Cuestiones relacionadas