ユーザーが「バッチのような」アクションを実行する状況を処理するために、Webアプリケーション用にNServiceBusを実行しています。1000エンティティに影響を与えるコマンドを起動するように。
それはうまく機能しますが、中程度の負荷の間にいくつかのデッドロックが発生します。これは問題ではありません。メッセージを再試行してください。:)
この問題は、次のメッセージが到着して接続を開こうとしたときに発生します。その場合、接続は「破損」します。
次のエラーが発生します:System.Data.SqlClient.SqlException(0x80131904):有効なトランザクション記述子が付属している必要があるため、新しいリクエストの開始は許可されていません
私はウェブを検索しました、そして私たちの問題は報告されたNH「バグ」であると思います:
回避策は、接続プールを無効にすることです。しかし、パフォーマンスが低下するので、私はそれが好きではありません。
NServiceBus 2.6、NHibernate3.3を実行しています。
誰かがこれを経験したことがありますか?NServiceBusのアップグレードは役に立ちますか?