9

我们目前在我们的开发环境中遇到了一个相当麻烦的问题,并显示以下消息...

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 托管服务连接的代理服务器。

有没有其他人遇到过这个问题或有什么建议?

4

2 回答 2

4

您需要扫描与 FILE_SKIP_COMPLETION_PORT_ON_SUCCESS 标志不兼容的非 IFS Winsock BSP 或 LSP,问题主要来自正在安装的非 IFS LSP 。

只需从命令提示符处运行“netsh WinSock Show Catalog”,然后检查任何格式不为0x20xxx的“服务标志”

就我而言,我发现服务标志为 0x66 的“速度加速器”,删除此软件解决了我的问题。

更多信息可以在这里找到:http: //support.microsoft.com/kb/2568167

于 2012-12-28T20:39:14.853 回答
1

您的连接字符串是什么样的?不确定您是否尝试过,但我记得在使用远程 SQL 连接到 SQL Azure 时遇到类似的问题,发现我必须设置:

Trusted_Connection=False;Encrypt=True

并从字符串中完全删除任何连接超时。

于 2014-07-22T18:11:47.097 回答