我有一个应用程序(不是我的代码),它在没有连接到互联网的服务器上慢慢启动。
从早期的经验我知道配置文件中的generatePublisherEvidence并在此处尝试(在过程监视器中检测到一些带有超时的TCP连接后)。
但是,在这种情况下,应用程序是.Net 4.5.1和generatePublisherEvidence的文档页面说
在.NET Framework 4及更高版本中,此元素对程序集加载时间没有影响
对于我的价格,加载时间减少,TCP连接从日志中消失。
首先我认为这是巧合,但现在我已在其他2台服务器上验证了相同的行为。
任何人都能解释一下吗?
我尝试按照msdn页面中的链接,但找不到有关如何验证汇编证书以及CLR2和CLR4之间的差异的任何信息。
我能想到的唯一猜测是应用程序加载了一些旧的CLR2程序集,这些程序集受到generatePublisherEveidence的影响。
答案 0 :(得分:1)
看看我的answer here是否澄清了一些事情。
generatePublisherEvidence元素定义仍然与.NET 4相关,甚至是我使用的4.7!如果没有它,签名总是被运行时验证为程序集加载过程的一部分,但签名验证可能仍会在某个时刻触发(无意中)!