我有一个作为“NT AUTHORITY\Network Service”运行的 C# Windows 应用程序,它需要通过 HTTPS 向托管在 Apache Tomcat 上的服务器发出 POST 请求。我正在使用 HttpWebRequest 发出请求。我通过设置 ServicePointManager.ServerCertificateValidationCallback 委托来接受服务器证书。调用 HttpWebRequest.GetRequestStream() 和调用 ServerCertificateValidationCallback 回调之间有很长的延迟(约 15 秒)。
当我运行与 LocalSystem 相同的代码时,它可以毫无延迟地正常工作。可能出什么问题了?
到目前为止我尝试过的事情:
================================================== ======================
这些似乎都不起作用。在 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)