Я делаю некоторое восстановление ошибок с помощью Entity Framework и SQL Server. Я хочу, чтобы мое приложение перезагрузило информацию в фоновом режиме после восстановления связи с базой данных.Entity Framework: восстановленная связь все еще дает ошибку 11001
Мой тестовый сценарий:
- поставил свою машину в режиме полета
- запуска приложения; Ожидается, ошибка: (поставщик: поставщик TCP, ошибка: 0 - Нет такого хоста не известно.)
- приложение будет пытаться повторить подключение через каждые 5 секунд, выполнив запрос с использованием фреймворка Entity
- выключить режим полета
- после 10 + попытки; такая же ошибка сохраняется: (поставщик: поставщик TCP, ошибка: 0 - такой хост не известен.)
Это убеждает меня в том, что выполнение запроса не будет пытаться открыть новое соединение уровня транспортного уровня после того, восстановлены.
Есть ли способ сообщить Entity Framework (или ADO.NET), чтобы попытаться повторно открыть соединение?
Обновление: Поскольку я использую Entity Framework 6, я могу использовать SqlAzureExecutionStrategy вместо политики повторной проверки вручную или корпоративной библиотеки.
Я думаю, что создание нового экземпляра вашего «DBContext» воссоздало бы соединение. – Mansfield