У нас есть приложение, которое предназначено для.NET 4.5.1, и это не изменилось.
Однако, когда мы обновили платформу.NET на сервере с 4.5.1 → 4.7.1, через несколько часов мы начали испытывать таймауты SQL (цель приложения осталась на уровне 4.5.1).
"Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached."
Другие серверы, которые имели такую же обработку, также вызвали проблему, поэтому мы искали исправление в.NET и нашли эту статью: https://blogs.msdn.microsoft.com/dataaccesstechnologies/2016/05/07/connection- Тайм-аут эмиссионного с-нетто-рамки-4-6-1-transparentnetworkipresolution/
Эта статья цитирует другой тип исключения, но может быть несколько связана. Однако я был бы ошеломлен, если бы наш DNS-поиск занял более 500 мс. Кроме того, я ожидаю увидеть гораздо больше случаев, когда эта конфигурация строки подключения сообщается и используется.
Наше приложение имеет высокий трафик, но мы уверены, что мы не испытываем утечки соединений, поскольку это никогда не было проблемой в течение многих лет, пока мы не обновили платформу.NET.
Мы попытаемся применить это исправление (и подождать> 24 часа, чтобы увидеть результаты), но есть ли что-нибудь еще, что мы могли бы пропустить? Мы не уверены, что это решение.
EDIT: Даже после перехода.NET обратно на 4.5.1 и перезагрузки всех серверов, мы все еще видим проблему. В кодовой базе ничего не изменилось, но нам еще нужно отменить изменение реестра, которое позволило "SchUseStrongCrypto" - если это может быть причиной?