我们目前在我们的开发环境中遇到了一个相当麻烦的问题,并显示以下消息...
A connection was successfully established with the server,
but then an error occurred during the pre-login handshake.
(provider: SSL Provider, error: 0 - The certificate's CN
name does not match the passed value.)
...解决此问题的普遍接受的智慧是将连接的TrustServerCertificate部分设置为True。但是,这不能可靠或始终如一地工作。
此特定错误发生在许多实例中,例如在我们的 Azure 模拟器中测试我们的 WCF 服务与实时/托管的 SQL Azure 实例对话,甚至使用 SQL Management Studio。我们发现的唯一共同点是,只有当我们直接连接到 SQL Azure 时才会发生这种情况,而不是当它的托管和 Azure 直接与 SQL Azure 对话时(确实有效)。
我尝试了多种策略来解决问题(例如此处详述的一种),即认为它与连接相关并删除池化和对连接字符串的其他修改。但遗憾的是,没有一个是决定性的,更令人恼火的是错误是间歇性的,并且会在短时间内阻止访问,然后神奇地自行解决。
我已经消除的其他因素。
- 我们正在使用 Transcient Application Block 来尝试从这些错误中恢复,但没有。
- 我们的办公室没有与 Azure 托管服务连接的代理服务器。
有没有其他人遇到过这个问题或有什么建议?