Произошла ошибка во время рукопожатия перед входом в систему
У меня было приложение на C#, которое взаимодействует с базой данных с использованием Linq to SQL и работало очень хорошо, когда я последний раз тестировал его месяц назад. Тем не менее, теперь выдается следующее исключение:
A first chance exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll
------ Exception ------
Error: A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: SSL Provider, error: 0 - The received certificate has expired.)
Я подписываю цифровой код с помощью ключа Verisign, но срок его действия не истек. Я не подписываю цифровой подписью, пока не соберу установщик, а это происходит в моей системе dev при отладке, поэтому код не был подписан.
Это также происходит в других системах, где программное обеспечение было подписано и установлено. Эти системы имеют доступ к той же тестовой базе данных, что и я в моей системе разработки, и работали ранее.
Следующая строка кода, которая вызывает ошибку:
List<req> results = new List<req>();
using (var db = new MyDbDataContext(connectionString))
{
var query =
from item in db.reqs
where item.senddate == null
select item;
results = query.ToList();
}
Ошибка происходит когда я звоню results = query.ToList();
,
Я использую следующую строку подключения:
Data Source=<removed>;Initial Catalog=<removed>;UID=sa;PWD=<removed>;Encrypt=true;Integrated Security=false
Я могу подключиться, если я установил Encrypt = false, но это не является жизнеспособным решением.
Опять же, это работало просто отлично, когда я в последний раз тестировал пару недель назад Любая идея о том, что может происходить, будет принята с благодарностью.
1 ответ
Мне удалось найти решение из этого поста.
В основном я добавил TrustServerCertificate=True
на мой текст связи, и все снова заработало. Я не уверен, почему это перестало работать в первую очередь, и если кто-нибудь знает, будет ли это постоянным решением или нет, я хотел бы узнать больше о том, что произошло.
Спасибо Carson63000 и Jacco за предложения.