MVC(ASP.Net + C#)ベースのアプリケーションを使用しています。 Jquery DataTableを使用してレコードを表示しました。今問題は、いくつかのレコードのために、その作業の良いといくつかのレコードのためにフロントエンド側で "Timeout expired"のようなエラーを与えているということです。タイムアウトが切れています。操作が完了する前にタイムアウト時間が経過しているか、サーバーが応答していません
私はエンティティフレームワーク&レコードをフェッチするストアドプロシージャを使用しています。いくつかの値については、タイムアウトエラーが発生しています。これらのパラメータを持つSpを直接実行した場合(タイムアウトエラーが発生する)、正常に動作していますが、SQL Serverでは約11秒の時間がかかります。私はちょうどタイムアウトエラーfrond端側を得ています。
以下のエラーが発生しています。
{「タイムアウトが期限切れ。応答していないタイムアウト期間前 動作の完了またはサーバに経過。」}、{「待機操作 がタイムアウト」}
Iを試みましたweb.configに追加されました
- 接続ライフタイム= 120;
- 最小プールサイズ= 120;
- 接続タイムアウト= 300;
- 最大プールサイズ= 1000;プール= true;
<httpRuntime executionTimeout="180" maxRequestLength="2000000000" />
しかし、ワークアウトしませんでした。
私のWeb.Configは次のとおりです。
<add name="TestEntities" connectionString="metadata=res://*/Test2.csdl|res://*/Test2.ssdl|res://*/Test2.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=Test2;integrated security=True;multipleactiveresultsets=True;Connection Lifetime=120;Min Pool Size=120;Connection Timeout=300;Max Pool Size=1000;Pooling=true;App=EntityFramework"" providerName="System.Data.EntityClient" />
助けてください。私は120にCommandTimeoutのを増加させることによって、問題を解決した
おかげ -Nimesh
データコンテキストでストアドプロシージャを呼び出すときに 'command timeout'を設定/増やす必要があると思います。 HTTPランタイムは、要求がIISに対してタイムアウトし、接続タイムアウトが接続を作成するためのものです。 (あなたの言及に基づいて、ストアドプロシージャもパラメータスニッフィングの問題に悩まされているか、または最適化されているかもしれません) –
私の経験上、まずタイムアウトを修正することで解決してください。つまり、sprocが時間内に終了することを確認してください。ページングパラメータを追加します。それが助けにならない場合(試行したくない場合)、最後の手段としてコマンド/トランザクションのタイムアウトを増やしてください。しかし、他のタイムアウトも(IIS、マシンの設定など)キックインすることを期待してください。実際、実行時間を短縮できない場合は、Webソケットのような非同期プロトコルを探すべきでしょう。 –
FYI、私はそのSpsの複合型を生成し、型を生成しています。 – Nimesh