有没有理由调用SignedCMS.Decode需要15秒或更长时间?我有以下代码:
SignedCms signedCms = new SignedCms();
signedCms.Decode(postedData);
其中postingData是已签名CMS消息的字节数组。有时函数调用会立即返回,但大多数情况下,返回需要10-15秒才会导致邮件发件人超时。
无论调试器是否附加到进程,似乎都会发生这种情况。
答案 0 :(得分:1)
所以我把它缩小到了Decode函数调用的一个函数中的Oid实例化。该来源位于Reference Source .NET Framework 4.5.1。
我测试使用:
System.Security.Cryptography.Oid oid = new System.Security.Cryptography.Oid("1.2.840.113549.1.7.1");
我还发现this link有类似的问题。
有趣的是,断开我的无线适配器,Oid实例化立即发生,这让我相信它可能与网络/ DNS相关(我不知道Oid实例正在做什么)。重新连接我的适配器后,SignedCms.Decode正常工作。我读到的另一个选项是从域中删除我的计算机然后重新加入。天文尚未尝试过。
也许这会帮助其他任何有相同(或类似)问题的人。