Используя С#,.Net 4.5, я пытаюсь отправить веб-запрос через HttpWebRequest на удаленном сервере. См. Код ниже. Я пробовал большинство решений, предлагаемых некоторыми форумами, но всегда получаю ту же ошибку. См. Ниже трассировку стека. Ошибка вызывается при вызове метода request.GetReponse().
Дополнительная информация, в основном, я пытаюсь вызвать функцию reloadSslCertificate компонента vmware vCenter, установленного на удаленном сервере. В настоящее время ошибка происходит только в vCenter 5.5. Он отлично работает в версиях 5.1 и ниже.
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();
Исключение: System.Net.WebException: базовое соединение было закрыто: при отправке произошла непредвиденная ошибка. --- > System.IO.IOException: Ошибка аутентификации, поскольку удаленная сторона закрыл транспортный поток. в System.Net.Security.SslState.StartReadFrame(буфер Byte [], Int32 readBytes, AsyncProtocolRequest asyncRequest) в System.Net.Security.SslState.StartReceiveBlob(буфер Byte [], AsyncProtocolRequest asyncRequest) при System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken сообщение, AsyncProtocolRequest asyncRequest) в System.Net.Security.SslState.StartSendBlob(байт [] входящий, Int32 count, AsyncProtocolRequest asyncRequest) в System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Байт [], AsyncProtocolRequest asyncRequest) при System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult) в System.Net.TlsStream.CallProcessAuthentication(объект государства) в System.Threading.ExecutionContext.RunInternal(ExecutionContext executeContext, обратный вызов ContextCallback, состояние объекта, логическое preserveSyncCtx) в System.Threading.ExecutionContext.Run(ExecutionContext executeContext, обратный вызов ContextCallback, состояние объекта, логическое preserveSyncCtx) в System.Threading.ExecutionContext.Run(ExecutionContext executeContext, обратный вызов ContextCallback, состояние объекта) в System.Net.TlsStream.ProcessAuthentication(результат LazyAsyncResult) в System.Net.TlsStream.Write(буфер байта [], смещение Int32, размер Int32) при System.Net.PooledStream.Write(буфер Byte [], смещение Int32, размер Int32) в System.Net.ConnectStream.WriteHeaders(Boolean async) --- Конец внутренняя трассировка стека исключений System.Net.HttpWebRequest.GetResponse()
Спасибо заранее.