У меня есть эта настройка
- ядро asp.net (2.1)
- ef core (2.1)
- masstransit (5.1)
Во время действия контроллера, когда я выполняю как изменения базы данных, так и публикации событий, я хотел бы хранить исходящие сообщения в папке исходящих сообщений в памяти, пока не узнаю, что транзакция контекста EF успешно зафиксирована в базе данных.
Я готов взять на себя риск того, что отправка затем не удастся, но так как она близка к нулю по сравнению с неудачными транзакциями в БД, например, из-за исключений параллелизма, я не рассматриваю это как риск, достойный рассмотрения в моем случае.
Возможно ли как-то настроить текущую реализацию UseInMemoryOutbox
?Или я должен свернуть свою собственную таблицу исходящих сообщений , как описано в этом ответе SO , и сохранить сообщения, которые будут отправлены в той же самой транзакции БД, а затем иметь фонового работника, опрашивающего эту таблицу и отправляющего исходящие сообщения, чтобы добиться этого