我正在使用IBM.XMS lib與WebSphereMQ交談。異步消費者和使用TransactionScope
當使用同步方法接收消息,例如:
using (var scope = new TransactionScope(TransactionScopeOption.Required, transactionOptions))
{
message = consumer.Receive(1000);
if (message != null)
{
//Do work here
scope.Complete();
}
}
但是,如果我想使用異步方法:
consumer.MessageListener = delegate(IMessage msg)
{
//Do work here
//But where do I put TransactionScope?
};
我不知道如何來包裝MessageListener
回調在TransactionScope
之內。
有誰知道如何做到這一點?
如果消費者實例已從會話中創建,則會話可能已創建,以便在委託運行期間存在(Transaction.Current)周圍的環境事務。 – 2013-04-11 10:26:49