Sql server SQL ServiceBrokerInterface事务回滚未回滚
我正在使用SQL service broker接口进行一些工作,我有一个与一个队列关联的服务,它只包含一个方法,问题是当我发出事务时收到消息。Rollback()消息从队列中消失,我认为这是不应该发生的。方法如下:Sql server SQL ServiceBrokerInterface事务回滚未回滚,sql-server,clr,service-broker,Sql Server,Clr,Service Broker,我正在使用SQL service broker接口进行一些工作,我有一个与一个队列关联的服务,它只包含一个方法,问题是当我发出事务时收到消息。Rollback()消息从队列中消失,我认为这是不应该发生的。方法如下: [BrokerMethod("MySBResponseMessage")] public void ProcessRequestMessage(Message ReceivedMessage, SqlConnection conn, SqlTransaction tr
[BrokerMethod("MySBResponseMessage")]
public void ProcessRequestMessage(Message ReceivedMessage, SqlConnection conn, SqlTransaction trans)
{
trans.Rollback();
}
下面是服务实例:
service.Run(false, conn, null);
谢谢
姆哈希姆一切都应该正常 您是否正确地实现了服务类?在构造函数中调用基类?比如:
class MyService : ServiceBrokerInterface.Service
{
public MyService(SqlConnection con)
: base("ServiceName", con)
{
//...
}
[BrokerMethod("DEFAULT")]
public void DoSmth(Message msg, SqlConnection con, SqlTransaction tran)
{
//...
}
}
是的,我曾经为下一个项目探索过ServiceBroker接口,在深入研究了实现之后,我得出结论,它不是生产资料。thanx无论如何那么-你将做什么-创建你自己的界面?或者不使用ServiceBroker?我的朋友ServiceBroker接口就是一个例子,说明了如何在ServiceBroker之上实现sql clr层,就一个例子而言,它很好,但仅此而已。至于你的问题,我该怎么办?我已经在T-SQL中实现了我的激活服务,相信我,这比我浏览(ServiceBroker接口)所花的时间要少得多