ローカルマシンから問題なくSQL Azureに接続する.NET Webアプリケーションがあります。同じマシン上で、別のコマンドライン.NETアプリケーションを同じソリューションで作成し、接続文字列をweb.config
からapp.config
にコピーしました。と同じアセンブリをWebサーバー(my connection/Entity 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バージョンは、アクセス同じデータベース非常に同じ接続文字列を使用し、同じアセンブリ/パッケージ版を使用するが可能です何の問題もありません。
- 解決策を再構築してVisual Studioを再起動し、PCを何度も再起動しました。
- 私は
netsh Winsock reset
を正常に実行した後、私のPCを再起動しました。 - 私のPCにはウイルス対策/マルウェア対策またはファイアウォールはありません。この意味でWindowsファイアウォールやWindows 10のコンポーネントに組み込まれているものは他にありませんでした。 (もちろん、パンダアンチウイルスは特にありません。いいえ、bloatwareも、元のWindows 10のインストールであり、OEMのものではありません)
- 私はWindowsファイアウォールをオンとオフの両方で試してみましたが、 。
- マシンがParallels上で仮想マシンとして実行されていれば意味があります。 Windowsには複数のネットワークアダプタが用意されていないので、私のWebアプリケーションとコンソールアプリケーションは同じ意味で同じ "インターネット接続"を使用しています。
- 接続タイムアウトは30秒ですが、30秒後ではなくすぐにエラーが発生します。
- 両方のプロジェクトは、Visual Studio 2015 Update 3でデバッグされた同じWindows 10マシンで実行され、.NET Framework 4.6に対してビルドされています。
- 私は過去数週間で問題のあるプロジェクトに触れていないし、数週間前には完全に動作していました。
- と思われるもの:私はフィドラーをインストールしていますが、これまで使用していた時期にはいつもインストールしていました。数週間後、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>
非常に同じ接続文字列もの他のプロジェクトで使用されると、それはなしで動作していることを覚えておいてください問題。
私はアイデアがありません。何が間違っているのでしょうか?
これは暗号化された接続なので、.Net側のSSLに問題がある可能性があります。あなたの '働いている'アプリで 'ServicePointManager'を探してみることができます - おそらくいくつかのハッキングがcertifcate/tlsのバージョンなどです – Lanorkin