Откат транзакции SQL ServiceBrokerInterface не откатывается
Я делаю некоторую работу с интерфейсом брокера служб SQL, у меня есть служба, связанная с одной очередью, и она содержит только один метод, проблема в том, что когда я получаю сообщение, если я запускаю транзакцию.Rollback() сообщение исчезает из очереди, которая Я думаю, что не должно случиться. Вот метод:
[BrokerMethod("MySBResponseMessage")]
public void ProcessRequestMessage(Message ReceivedMessage, SqlConnection conn, SqlTransaction trans)
{
trans.Rollback();
}
и вот экземпляр службы:
service.Run(false, conn, null);
Спасибо мхашим
1 ответ
Решение
Все должно работать..
Правильно ли реализован класс обслуживания? И вызывая базовый класс в конструкторе? лайк:
class MyService : ServiceBrokerInterface.Service
{
public MyService(SqlConnection con)
: base("ServiceName", con)
{
//...
}
[BrokerMethod("DEFAULT")]
public void DoSmth(Message msg, SqlConnection con, SqlTransaction tran)
{
//...
}
}