相关疑难解决方法(0)

HttpWebRequest 15 秒延迟性能问题

我有一个作为“NT AUTHORITY\Network Service”运行的 C# Windows 应用程序,它需要通过 HTTPS 向托管在 Apache Tomcat 上的服务器发出 POST 请求。我正在使用 HttpWebRequest 发出请求。我通过设置 ServicePointManager.ServerCertificateValidationCallback 委托来接受服务器证书。调用 HttpWebRequest.GetRequestStream() 和调用 ServerCertificateValidationCallback 回调之间有很长的延迟(约 15 秒)。

当我运行与 LocalSystem 相同的代码时,它可以毫无延迟地正常工作。可能出什么问题了?

到目前为止我尝试过的事情:

  • 通过设置 request.Proxy=null 并在 app.config 中设置 defaultProxy enabled="false" 来禁用代理
  • 设置 request.ServicePoint.Expect100Continue = false
  • 设置 ServicePointManager.CheckCertificateRevocationList = false
  • ServicePointManager.Expect100Continue = false

================================================== ======================

这些似乎都不起作用。在 HttpWebRequest.GetRequestStream() 中仍然有 15 秒的一致延迟。还收集了 System.Net 跟踪。

代码:

        ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateRemoteCertificate);

        ServicePointManager.Expect100Continue = false;

        ServicePointManager.CheckCertificateRevocationList = false;





   public static bool ValidateRemoteCertificate( object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors)

    {

        Trace.TraceInformation("HttpWebClient.ValidateRemoteCertificate: …
Run Code Online (Sandbox Code Playgroud)

.net c# ssl httpwebrequest

5
推荐指数
3
解决办法
7342
查看次数

标签 统计

.net ×1

c# ×1

httpwebrequest ×1

ssl ×1