运行NServicebus服务时出现死锁会导致连接损坏

Eri*_*röm 5 nhibernate deadlock nservicebus

我们正在为Web应用程序运行NServiceBus来处理用户执行"批处理"操作的情况.像火一样影响1000个实体的命令..

它运行良好,但在中等负载期间我们会遇到一些死锁,这不是问题,只需重试消息..对吗?:)

当下一条消息到达并尝试打开连接时,会出现此问题.然后连接"损坏".

我们收到以下错误:System.Data.SqlClient.SqlException(0x80131904):不允许启动新请求,因为它应该带有有效的事务描述符

我在网上搜索过,我认为我们的问题是报道的NH"bug":

解决方法应该是禁用连接池.但我不喜欢这样,因为表演会降低......

我们正在运行NServiceBus 2.6,NHibernate 3.3.

有人对这个有经验么?可以升级NServiceBus吗?

小智 1

我过去见过这种情况,如果您的设计允许,请尝试将事务分成两部分,如果您将消息事务一直流到数据库操作,则任何失败都会产生级联效应,并且会影响(理想情况下它应该\xe2\x80\x99t)任何后续消息。

\n