gpt4 book ai didi

c# - 通过 HttpWebRequest 发送客户端证书,间歇性工作

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:15 25 4
gpt4 key购买 nike

我创建了一个 Web 应用程序,它调用需要客户端证书进行身份验证的 Web 服务。以下是我如何构建请求的片段:

            // Grab Certificate
X509Certificate2 cert2 = new X509Certificate2(AppDomain.CurrentDomain.BaseDirectory + GiftCardConfig.A2A_CertificateLocation, GiftCardConfig.A2A_CertificatePassword, X509KeyStorageFlags.MachineKeySet);

// First Call Status Account
StringBuilder urlStatus = new StringBuilder(GiftCardConfig.A2A_URL + "webservice.asp?");
urlStatus.Append("userid=" + GiftCardConfig.A2A_UserID);
urlStatus.Append("&pwd=" + GiftCardConfig.A2A_Password);
urlStatus.Append("&sourceid=" + GiftCardConfig.A2A_SourceID);
urlStatus.Append("&cardnum=" + cardNumber);
urlStatus.Append("&purseno=" + GiftCardConfig.A2A_PurseID);

urlStatus.Append("&status=ACTIVATE");

// Build HTTP Request
HttpWebRequest wrStatus = (HttpWebRequest)WebRequest.Create(urlStatus.ToString());
wrStatus.KeepAlive = true;
wrStatus.Method = "GET";
wrStatus.Accept = "text/xml";
wrStatus.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 1.0.3705; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)";
wrStatus.ClientCertificates.Clear();
wrStatus.ClientCertificates.Add(cert2);

这一切都有效,但只是间歇性的。托管 Web 服务的服务器大约每 24 小时返回一次 403:Forbidden 错误。修复它的唯一方法是对运行 Web 应用程序的服务器执行 iisreset。我们对这个问题完全感到困惑,想知道这个问题是否与 Web 应用程序或托管它的服务器配置有关。

非常感谢任何可能的解决方案或意见!

最佳答案

您可以尝试将 keep alive 设置为 false,尽管这样做可能会影响性能。

关于c# - 通过 HttpWebRequest 发送客户端证书,间歇性工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3885794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com