Как позвонить на сервисную шину Azure в Transactionscope
Когда я вызываю MassTransit.Publish на служебной шине Azure, у меня возникает исключение, потому что вызов находится в TransactionScope.
The feature 'Transaction' is not supported with the current configuration
Как отправить сообщение на шину без режима транзакции, в область транзакций? Я не хочу транзакции для автобуса, но только для базы данных.
Благодарю.
1 ответ
Решение
Вы можете использовать папку "Исходящие" в памяти для отправки после завершения транзакции.
cfg.ReceiveEndpoint(host, "my-queue", e =>
{
e.UseInMemoryOutbox();
e.Consumer<MyConsumer>(...);
});
При настройке порядок имеет значение, поэтому, если вы используете Retry или другой компонент промежуточного программного обеспечения, он должен находиться перед исходящей в памяти исходной информацией в конфигурации. Ваши потребители должны быть после всех компонентов промежуточного программного обеспечения.