2011-09-08 244 views
1

長時間実行されているストアドプロシージャのいくつかがデフォルトの30秒以上を要するサイズまで成長しました。私はプログラムでコマンドオブジェクトのCommandTimeoutsのいくつかを設定しましたが、ストアプロシージャへの呼び出しは30秒後にタイムアウトしているように見えます。CommandTimeoutには何も効果がないようです。クエリは30秒後にもタイムアウトします。

は、ここに私がやったことだ:このプロパティを設定するweb.configファイルで

  1. キー= "COMMANDTIMEOUT" 値を追加= "180"

  2. がトップにこれを追加しましたタイムアウトセットを必要とする私のクラスの:

    淡いCOMMAND_TIMEOUTとして整数= ConfigurationMa nager.AppSettings( "CommandTimeOut")

  3. コマンドオブジェクトを作成した後、オブジェクトにtimeoutプロパティを設定します。

    cmd.CommandTimeout = COMMAND_TIMEOUT

残念ながら私のストアドプロシージャは、まだ彼らは実行に30秒以上かかるとき、タイムアウトしているようです。どんな助けでも大歓迎です。

+0

そして、あなたはあなたのコード確信していますデフォルトをオーバーライドしていますか? – JeffO

+1

また、トランザクションタイムアウトも発生している可能性があります。トランザクションタイムアウト(TransactionScopeを使用していた)が究極の原因でした。 –

+0

私がデフォルトを上書きしていると仮定して、私のコメントから私が行ったことを正確に見ることができ、変数が正しく設定されていることを確認するコードをデバッグしました。なぜそれがデフォルトを上書きしないのか分かりません。 –

答えて

0

トランザクションと接続タイムアウトが30秒以上に設定されていることを確認し...この缶ができます

希望、

さようなら

cghersi

関連する問題