В настоящее время мы работаем над обновлением нашего веб-приложения asp.net(размещенного на IIS 7.5) с .net framework v4.5 до v4.6.1. В небольших более низких средах/локальном развитии, в которых SQL-сервер работает в том же поле, что и IIS, это обновление отлично работает и ничего не сломает. Однако, как только мы обновляем наши веб-серверы в наших тестовых средах, которые удаляют сервер SQL удаленно с наших веб-серверов, наше приложение больше не может устанавливать соединение с базой данных. Мы получаем эту ошибку:
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 работает с версией CLR версии 4.0.30319. Мы используем Entity Framework версии 6.0.0.0 для доступа к данным, а все строки подключения используют интегрированную защиту. Нужно ли обновлять ящики с сервером SQL Server.net 4.6.1? Я не понимаю, почему это необходимо для нашего приложения, чтобы установить соединение с базой данных, но я не смог найти никаких указаний в MSDN об этом.
EDIT:
После этого сбоя мы понизили наши веб-серверы до .net v4.5, и нам удалось восстановить соединение с SQL-сервером. повторное обновление до версии 4.6.1 снова вызвало поломку. Поэтому мы относительно уверены, что обновление является проблемой, а не изменением кода приложения и/или настроек IIS.