1

c# .net 3.5 で記述された Windows サービスがあり、アクセス データベースに対して読み取り/書き込みを行います。

すべての「new OleDbConnection()」インスタンスを「using」句に入れるように注意し、同様に OleDBCommand が確実に破棄されるようにしました。

しかし、ある顧客のサーバーでは、connection.Open() が 5 分以上ハングすることがわかりました。

System.Data.Common.UnsafeNativeMethods.IDBInitializeInitialize.Invoke(IntPtr pThis

そのマシンで問題が 2 回発生したことがわかっています。どちらの場合も、その場所で複数のスレッドが同時にハングしています。あるケースでは、問題の 3 つのスレッドのうち 2 つが Open() 呼び出しに 8 秒の差で到達します。おそらく、3 番目のスレッドが他のスレッドの 1 つと同時に呼び出しに到達する可能性がありますが、わかりません。複数のスレッドが同時に接続を開こうとしているという事実が問題の原因である可能性がありますか、それとも別の原因ですか?

ありがとう、リオール

4

0 に答える 0