У меня есть веб-приложение .NET, которое подключается к SQL Azure без каких-либо проблем с моей локальной машины. Затем, на той же машине, я создал другое приложение командной строки .NET в том же решении, скопировал строку подключения от web.config
до app.config
, ссылаясь на то же самое: сборок с веб-сервером (мое соединение/сущность Framework/model слой находится на собственной сборке) и попытался получить доступ к моей базе данных. Я получаю следующее сообщение об ошибке:SQL Azure: SSL-провайдер, ошибка: 0 - Ожидаемая операция ожидания
Exception thrown: 'System.Data.SqlClient.SqlException' in System.Data.dll
Additional information: A connection was successfully established with the server,
but then an error occurred during the pre-login handshake. (provider: SSL Provider,
error: 0 - The wait operation timed out.)
Теперь, прежде чем указать на многие другие вопросы там, позвольте мне сказать вам заранее:
- .NET-приложение с же .NET версия, на же компьютером/раствора способен доступ к той же базе данных, используя ту же самую строку подключения и используя же сборок/пакет вер sions и т. д. без проблем.
- Я очистил/восстановил свое решение, перезапустил Visual Studio и перезапустил мой компьютер несколько раз.
- Я успешно выполнил
netsh Winsock reset
и перезапустил свой компьютер после этого. - На моем ПК нет антивируса/вредоносного ПО или брандмауэра. В этом смысле никогда не было ничего, кроме брандмауэра Windows и встроенного в компоненты Windows 10. (да, конечно, никаких антивирусов Panda в частности. nope, no bloatware тоже, это оригинальная установка Windows 10, а не OEM)
- Я пытался с брандмауэром Windows как включить, так и выключить, похоже, не влияет ,
- Машина работает как виртуальная машина на Parallels, если она имеет какой-то смысл. Для Windows нет нескольких сетевых адаптеров, поэтому в моем приложении и в консольном приложении используется одно и то же «подключение к Интернету».
- Тайм-аут соединения составляет 30 секунд, хотя я получаю ошибку сразу, а не через 30 секунд. (он говорит, что он все равно успешно подключен)
- Оба проекта, запущенные на той же машине Windows 10, отлаженной через обновление Visual Studio 2015 Update 3, построены на платформе .NET Framework 4.6.
- Я даже не затронул проблемный проект за последние несколько недель, и он работал отлично несколько недель назад.
- Как все, что может быть быть подозрительным: у меня установлен Fiddler, но я всегда устанавливал его в то время, когда он работал. За несколько недель AFAIR я только что установил Steam и Visual Studio 2017 RC, но они не открыты.
- У меня нет подозрительных ошибок и т. Д. На стороне Azure.
- Я могу получить доступ к серверу с теми же учетными данными с помощью SQL Server Management Studio и без проблем запросить базу данных. (У меня такая же проблема как с SSMS открытым, закрытым, так и после перезапуска с открытием/без него).
- Я видел бесчисленное количество вопросов относительно одной и той же проблемы, однако они почти все указывают на антивирус/брандмауэр и рассеивание winsock, и я уже это сделал.
Вот мои строки подключения именно из конфигурационного файла (чувствителен информация заменяется XXXX):
<connectionStrings>
<add name="Data" connectionString="Server=tcp:XXXX.database.windows.net,1433;Database=XXXX;User [email protected];Password=XXXX;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
</connectionStrings>
Помните, что та же строка подключения также используется в другом проекте, и он не работает с не вопросы.
У меня нет идей. Что может быть неправильным?
Поскольку это зашифрованное соединение, могут возникнуть проблемы с SSL с .Net. Вы можете попробовать искать «ServicePointManager» в своем «рабочем» приложении - возможно, есть некоторые хаки re certifcate/tls version и т. Д. – Lanorkin