エンティティフレームワークは、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="data source=*****;Failover Partner=*****;initial catalog=*****;user id=*****;password=********;MultipleActiveResultSets=True;Pooling=false;Connection Lifetime=2;App=EntityFramework"" providerName="System.Data.EntityClient" />
はまた、このエラーが連続していない、我々は、これはネットワークの問題のいずれかが起こっているか、交通渋滞しばらくかかるだろうと思います。しかし、私たちはまだこれについて確固たる理由はありません。
解決策をご案内してください。
一時的なフォルトエラーとはどういう意味ですか? Btwは私のプロジェクトでEFバージョン5.0.0.0を使用しています。 – Mrunal
クラウドベースのアプリケーションが他のクラウドベースのサービスを使用する場合、断続的なサービス、インフラストラクチャレベルの障害、またはネットワークの問題などの一時的な条件のためにエラーが発生する可能性があります。非常に頻繁に、少し後で(おそらく数ミリ秒後に)操作を再試行すると、操作が成功することがあります。これらのタイプのエラー状態は、一時的なフォールトと呼ばれます。 –
@Saschaという情報をありがとう。どのようにこのタイプのエラーを処理するか対処するには?ドキュメントやコーディング/アーキテクチャーのガイドラインはありますか? Azureをセットアップした人は誰もこのようなエラーに直面していますか? – Mrunal