Tôi đang sử dụng IBM.XMS lib để nói chuyện với WebSphereMQ.Người dùng không đồng bộ và sử dụng TransactionScope
Khi nhận tin nhắn bằng cách sử dụng phương pháp đồng bộ, ví dụ:
using (var scope = new TransactionScope(TransactionScopeOption.Required, transactionOptions))
{
message = consumer.Receive(1000);
if (message != null)
{
//Do work here
scope.Complete();
}
}
Nhưng nếu tôi muốn sử dụng phương pháp đồng bộ:
consumer.MessageListener = delegate(IMessage msg)
{
//Do work here
//But where do I put TransactionScope?
};
Tôi không thể làm việc ra làm thế nào để quấn MessageListener
callback trong một số TransactionScope
.
Có ai biết cách thực hiện việc này không?
Nếu phiên bản người dùng đã được tạo từ phiên, phiên có thể đã được tạo để có giao dịch xung quanh (Transaction.Current) trong quá trình chạy ủy nhiệm. –