我们目前正在努力将.net framework v4.5中的asp.net Web应用程序(在IIS 7.5上托管)更新到v4.6.1.在小型低级环境/本地开发中,SQL Server与IIS在同一个盒子上运行,此更新工作正常,不会破坏任何内容.但是,一旦我们在从我们的Web服务器远程托管SQL服务器的测试环境中更新我们的Web服务器,我们的应用程序就无法再建立与数据库的连接.我们收到此错误:
Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. This could be because the pre-login handshake failed or the server was unable to respond back in time.
SQL Server使用CLR版本v4.0.30319运行.我们使用Entity Framework版本6.0.0.0进行数据访问,连接字符串全部使用集成安全性.我们是否还需要将托管SQL服务器的盒子更新为.net 4.6.1?我不明白为什么我们的应用程序需要建立与数据库的连接,但我一直无法在MSDN上找到关于此的任何指导.
编辑:
在这次破坏之后,我们将我们的Web服务器降级回.net v4.5,我们能够重新建立与SQL服务器的连接.重新升级到v4.6.1再次导致破损.因此,我们相对确定升级是问题,而不是应用程序代码和/或IIS设置的更改.