C #: System.Net.WebException: a conexão subjacente foi fechada

Eu tenho o seguinte código :

String url = // a valid url
String requestXml = File.ReadAllText(filePath);//opens file , reads all text and closes it
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(requestXml);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Credentials = new NetworkCredential("DEFAULT\\Admin", "Admin"); 
request.ContentType = "application/xml";
request.ContentLength = bytes.Length;
request.Method = "POST";
request.KeepAlive = false;
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
return new StreamReader(responseStream).ReadToEnd();

Durante o tempo de execução, estou recebendo a seguinte exceção ao tentar ler oHTTPWebResponse :

System.Net.WebException: A conexão subjacente foi fechada: Ocorreu um erro inesperado em um recebimento.
---> System.IO.IOException: Não é possível ler dados da conexão de transporte: Uma conexão estabelecida foi interrompida pelo software em sua máquina host.
---> System.Net.Sockets.SocketException: uma conexão estabelecida foi abortada pelo software em sua máquina host
em System.Net.Sockets.Socket.Receive (buffer Byte [], deslocamento Int32, tamanho Int32, SocketFlags socketFlags)
em System.Net.Sockets.NetworkStream.Read (Byte [] buffer, Int32 offset, Int32 size)
em System.Net.Sockets.NetworkStream.Read (Byte [] buffer, Int32 offset, Int32 size)
em System.Net.PooledStream.Read (buffer de bytes [], deslocamento de Int32, tamanho de Int32)
em System.Net.Connection.SyncRead (solicitação HttpWebRequest, Boolean userRetrievedStream, Boolean probeRead)

questionAnswers(2)

yourAnswerToTheQuestion