我正在开发一个应用程序,我在其中使用 CertAdm.dll 来连接到证书颁发机构。有时我收到错误“尝试打开证书颁发机构数据库会话,但活动会话已经太多。可能需要配置服务器以允许其他会话。”
如果我像下面的代码一样配置我的连接,我不会收到错误并且一切正常。
CERTADMINLib.ICertView2 cv2 = new CERTADMINLib.CCertViewClass();
try
{
cv2.OpenConnection(srtCAConfig);
}
catch
{
GC.Collect();
GC.WaitForPendingFinalizers();
cv2.OpenConnection(srtCAConfig);
}
现在我想知道的是,我读过很多人说你不应该使用 GC.Collect()。为什么我不应该?它解决了我的问题?
非常感谢所有帮助。