先週、データベースで奇妙なことが起こりました。新しいエンティティなどを保存できなかったユーザーに対して、アプリケーションが突然ブロックされました。SQLServerのアクティビティモニター(2008と互換モード2005)を確認した後、次の3つのエントリが表示されました。
しばらくすると、ユーザーは接続タイムアウトを取得しました。プロセス64を強制終了したとき、彼らは再び正常に保存できました。
問題は、ブロック中に保存しようとしたエンティティがDBに複数回(最大3回)挿入されたことですが、これを防ぐためのコード(数値列は一意でなければならないが制約なし)があるはずです...チェックはコードで行われます)。
Entity Framework 6.0を使用しています。
- これらのASYNC_NETWORK_IO待機タイプが発生する理由とタイミング、およびそれらを回避する方法を知っている人はいますか?
- そして、それらは正確にはどういう意味ですか?