Как я использую удаленный MSMQ транзакционно?

Я полагаю, что проблема заключается в том, что метод thread.start_new_thread ожидает ссылку на метод, а не вызов метода, т.е. test.Test().jazda является ссылкой на метод, т.е. однако test.Test().jazda() вернет результат метода (в данном случае 0), а не вызываемый. Ваш метод запуска должен выглядеть следующим образом thread.start_new_thread(test.Test().jazda, ())

7
задан Michael L Perry 7 October 2008 в 14:02
поделиться

4 ответа

Я оставил комментарий, спрашивающий о версии MSMQ, который Вы используете, поскольку я думаю, что это - причина Вашей проблемы. Транзакционный Получают, не был реализован в более ранних версиях MSMQ. Если это так, затем это сообщение в блоге объясняет Ваши опции.

5
ответ дан 7 December 2019 в 05:33
поделиться

Используя TransactionScope должен работать, если MSDTC работает на обеих машинах.

MessageQueue queue = new MessageQueue("myqueue");
using (TransactionScope tx = new TransactionScope()) {
    Message message = queue.Receive(MessageQueueTransactionType.Automatic);
    tx.Complete();
}
3
ответ дан 7 December 2019 в 05:33
поделиться

Я с тех пор переключился на Сервисного Брокера SQL. Это поддерживает удаленный транзакционный, получают, тогда как MSMQ 3.0 не делает. И, как добавленная премия, это уже использует экземпляр SQL Server, который мы кластеризируем и создаем резервную копию.

0
ответ дан 7 December 2019 в 05:33
поделиться

Для использования Области транзакций, необходимо прежде проверить, что MSDTC установлен, и удаленное соединение клиента было активировано.

Установка MSDTC не является проблемой, но активируйтесь, удаленное соединение клиента должно вызвать перезагрузку сервера (на Windows Server 2003 дело обстоит так).

возможно, это сообщение может помочь Вам: Как активировать MSDTC и удаленное соединение клиента

0
ответ дан 7 December 2019 в 05:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: