SQL ServiceBrokerInterface事务回滚没有回滚

时间:2012-06-11 12:46:41

标签: sql-server clr service-broker

我正在使用SQL服务代理接口做一些工作,我有一个与一个队列关联的服务,它只包含一个方法,问题是当我收到Message时,如果我发出transaction.Rollback()消息从我认为不应该发生的队列。这是方法:

    [BrokerMethod("MySBResponseMessage")]
    public void ProcessRequestMessage(Message ReceivedMessage, SqlConnection conn, SqlTransaction trans)
    {
        trans.Rollback();
    }

这是服务实例:

    service.Run(false, conn, null);

由于 mhashim

1 个答案:

答案 0 :(得分:0)

一切都应该有效..

您是否正确实施了服务类?并在构造函数中调用基类?像:

        class MyService : ServiceBrokerInterface.Service
        {
            public MyService(SqlConnection con)
                : base("ServiceName", con)
            {
                //...
            }

            [BrokerMethod("DEFAULT")]
            public void DoSmth(Message msg, SqlConnection con, SqlTransaction tran)
            {
                //...
            }
        }