L'échec sur HttpWebrequest avec intérieur exception de l'Authentification a échoué car le distant a fermé le flux de transport

À L'Aide De C#, .Net 4.5, je suis en train d'envoyer une requête web par le biais de HttpWebRequest sur un serveur distant. Veuillez voir le code ci-dessous.
J'ai essayé la plupart des solutions proposées par certains forums, mais je finis toujours avec le même message d'erreur. Consultez la trace de la pile ci-dessous.
L'erreur est générée lors de l'appel de la demande.GetReponse() la méthode.

Plus d'infos, en gros, je vais essayer d'appeler le reloadSslCertificate fonction de vmware vCenter composant est installé sur un serveur distant. Actuellement, l'erreur ne se produit que sur vCenter 5.5. Il fonctionne très bien dans les versions 5.1 et ci-dessous.

        var uri = String.Format("https://{0}/some_url", serverName);
        var request = (HttpWebRequest)WebRequest.Create(uri);
        request.KeepAlive = true;
        request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
        request.Headers.Set(HttpRequestHeader.AcceptLanguage, "en-US,en;q=0.8");
        request.Credentials = credential;
        request.CookieContainer = cookieContainer;


        var response = request.GetResponse();

Exception : System.Net.WebException: La connexion sous-jacente a été
fermée: Une erreur inattendue s'est produite lors de l'envoi. --->
Système.IO.IOException: l'Authentification a échoué car la partie à distance
a fermé le flux de transport. au
Système.Net.De sécurité.SslState.StartReadFrame(Byte[] buffer, Int32
readBytes, AsyncProtocolRequest asyncRequest) à
Système.Net.De sécurité.SslState.StartReceiveBlob(Byte[] buffer,
AsyncProtocolRequest asyncRequest) à
Système.Net.De sécurité.SslState.CheckCompletionBeforeNextReceive(ProtocolToken
message, AsyncProtocolRequest asyncRequest) à
Système.Net.De sécurité.SslState.StartSendBlob(Byte[] entrants, Int32
le comte, AsyncProtocolRequest asyncRequest) à
Système.Net.De sécurité.SslState.ForceAuthentication(Boolean receiveFirst,
Byte[] buffer, AsyncProtocolRequest asyncRequest) à
Système.Net.De sécurité.SslState.ProcessAuthentication(LazyAsyncResult
lazyResult) au Système.Net.TlsStream.CallProcessAuthentication(Objet
de l'état) à
Système.Le filetage.ExecutionContext.RunInternal(ExecutionContext
executionContext, ContextCallback rappel, état de l'Objet, Boolean
preserveSyncCtx) à
Système.Le filetage.ExecutionContext.Exécuter(ExecutionContext
executionContext, ContextCallback rappel, état de l'Objet, Boolean
preserveSyncCtx) à
Système.Le filetage.ExecutionContext.Exécuter(ExecutionContext
executionContext, ContextCallback rappel, l'état de l'Objet) à
Système.Net.TlsStream.ProcessAuthentication(LazyAsyncResult suite) au
Système.Net.TlsStream.Write(Byte[] buffer, Int32 offset, taille Int32) à
Système.Net.PooledStream.Write(Byte[] buffer, Int32 offset, taille Int32)
au Système.Net.ConnectStream.WriteHeaders(Boolean async) --- Fin de
intérieure trace de pile d'exception --- à
Système.Net.HttpWebRequest.GetResponse()

Merci d'avance.

OriginalL'auteur spitfyr86 | 2013-10-28