Как уменьшить медлительность при получении ответа с помощью httpwebresponse?
Я хочу уменьшить медлительность при получении ответа с помощью httpwebresponse с stream reader.
я использую asp.net с c# в более высоком фреймворке (4.6.1) тоже.
Я получаю задержку около 30 секунд и в целом одну минуту при извлечении XML-ответа из ядра с помощью заголовка soap. В Soap UI нет никакой медлительности.
Я использую serivcemanager, для которого используется безопасный протокол TLS1.2 и ServerCertificateValidationCallback, к которому добавляются SSL-сертификаты,
Попробовал уменьшить медлительность при обнаружении прокси-сервера по умолчанию
<system.net> <defaultProxy enabled="false"> <proxy/> <bypasslist/> <module/> </defaultProxy> </system.net>
Что я уже пробовал:
Мой пример кода выглядит следующим образом:
CertificateOverride oCertOverride = new CertificateOverride(); ServicePointManager.ServerCertificateValidationCallback = oCertOverride.RemoteCertificateValidationCallback; ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; const SslProtocols _Tls12 = (SslProtocols)0x00000C00; const SecurityProtocolType Tls12 = (SecurityProtocolType)_Tls12; ServicePointManager.SecurityProtocol = Tls12; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(AccountStatusLookUpURL); request.Headers.Add("SOAPAction", "https://soa.nbf.ae/ICCSAccountLookup/ICCSAccountLookup"); request.ContentType = "text/xml; charset=\"utf-8\""; request.Accept = "gzip,deflate"; request.Method = "POST"; request.Proxy = new WebProxy(); request.ProtocolVersion = HttpVersion.Version10; request.ClientCertificates.Add(new X509Certificate2(Common.CORE_PFXPath, Common.CORE_PFXPassword)); using (Stream stm = request.GetRequestStream()) { using (StreamWriter stmw = new StreamWriter(stm)) { stmw.Write(oRequest); LogCORE("Request Posted successfully for Account Status Lookup API for AccountNumber : " + AccountNumber + ". Request : " + oRequest, 2); } } HttpWebResponse httpWebRes = (HttpWebResponse)request.GetResponse(); using (StreamReader responseReader = new StreamReader(httpWebRes.GetResponseStream())) { result = responseReader.ReadToEnd(); //XmlElement root; if (!string.IsNullOrEmpty(result.Trim())) { XmlDocument doc = new XmlDocument(); XDocument xdoc = new XDocument(); doc.LoadXml(result); }