2016-01-20 46 views
5

エンティティフレームワークは、Web API 2.0コードで実装されています。データベースエンティティを呼び出すために、ストアプロシージャコールを使用しています。私たちのアプリケーション全体は、Microsoft Azureクラウドでホストされています。私たちが直面している2つの例外はここにあります。Microsoft AzureのSQL接続エラー

メッセージ:コマンド定義の実行中にエラーが発生しました。詳細については、内部例外を参照してください。

InnerException:タイムアウトが切れています。操作が完了する前にタイムアウト時間が経過したか、サーバーが応答していません。この障害は、Principleサーバーに接続しようとしているときに発生しました。

メッセージ:私たちが直面している

もう一つの例外は次のようである基になるプロバイダーがOpenで失敗しました。

InnerException:接続が閉じられませんでした。接続の現在の状態は接続中です。

:コードは、C#のWeb API 2.0です。ストアプロシージャを呼び出すためにEntity Frameworkを使用しています。データベースは、web.configファイルでは、SQL Serverの2012年にあり、接続文字列は以下のようになります。

<add name="*****Entities" connectionString="metadata=res://*/Models.Database.*****.csdl|res://*/Models.Database.*****.ssdl|res://*/Models.Database.*****.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=*****;Failover Partner=*****;initial catalog=*****;user id=*****;password=********;MultipleActiveResultSets=True;Pooling=false;Connection Lifetime=2;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 

はまた、このエラーが連続していない、我々は、これはネットワークの問題のいずれかが起こっているか、交通渋滞しばらくかかるだろうと思います。しかし、私たちはまだこれについて確固たる理由はありません。

解決策をご案内してください。

答えて

3

これは、Transient Faultエラーのようです。 EF6(またはそれ以降)とsetup the Execution Strategiesを使用する必要があります。

+0

一時的なフォルトエラーとはどういう意味ですか? Btwは私のプロジェクトでEFバージョン5.0.0.0を使用しています。 – Mrunal

+0

クラウドベースのアプリケーションが他のクラウドベースのサービスを使用する場合、断続的なサービス、インフラストラクチャレベルの障害、またはネットワークの問題などの一時的な条件のためにエラーが発生する可能性があります。非常に頻繁に、少し後で(おそらく数ミリ秒後に)操作を再試行すると、操作が成功することがあります。これらのタイプのエラー状態は、一時的なフォールトと呼ばれます。 –

+0

@Saschaという情報をありがとう。どのようにこのタイプのエラーを処理するか対処するには?ドキュメントやコーディング/アーキテクチャーのガイドラインはありますか? Azureをセットアップした人は誰もこのようなエラーに直面していますか? – Mrunal

関連する問題