Request.GetClientCertificate 有时 returns Web 中的信息不正确 API

Request.GetClientCertificate sometimes returns incorrect information in Web API

我在 IIS 上有一个 .Net 4.6 Web 应用程序 运行,它读取智能卡以获取用户信息。一开始应用程序运行良好,但几天后其他用户的卡信息显示给不同的用户。例如,某个离我不远或与我无关的人试图登录,但我的智能卡信息会显示出来,就好像是从他们的卡上读取的一样。这几乎就像我的智能卡信息被缓存在服务器上。

这是读取智能卡信息的代码。

X509Certificate2 clientCert = new X509Certificate2(Request.GetClientCertificate());

u.Info = clientCert.Subject.ToString();

我刚刚发现,如果我重新启动 IIS,显示的凭据将会重置,并且会显示正确的凭据。

不确定我做错了什么,我没有得到正确的智能卡信息。

谢谢!!

问题最终变成了一个静态变量。

静态变量创建每个应用程序用户都可以访问的变量的单个实例。