最近、私のWebアプリの特定のページが
例外の詳細:MySql.Data.MySqlClient.MySqlException:タイムアウトが期限切れになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。
永続層としてIbtaisを使用していますが、このエラーが発生します。 MySqlサービスインスタンスを再起動しましたが、同じエラーが発生します。以前は発生しませんでしたが、最近は頻繁に発生します。
サーバーにデプロイされたすべてのWebアプリケーションはIbatisを使用し、DBサーバーはIISがインストールされている同じマシン上に残ります。ページの読み込み時に約300〜500がフィルタリングされる約8000のレコードがあります
問題の原因についての洞察はありますか?
私はあなたと同じ問題に遭遇しました、そして私はこれを見つけました MySQLConnection--デフォルトのコマンドタイムアウトを指定する 。
ConnectStringに「defaultコマンドタイムアウト= xxx」を追加するだけです。このキーの値は秒単位です。
試してみましたが、うまくいきました。
コマンドのタイムアウトを0に設定することもできますが、それはお勧めできません。一部のリクエストは無期限に続く可能性があります。
そもそもクエリがタイムアウトする原因となっている根本的な問題があります。テーブルをロックする大きなバイナリ値を挿入、更新、または何らかの方法で操作していますか?これが、このような少量のデータでこのようなエラーが発生する最も一般的な理由です。