Learn More, Pay Less!
Limited Time Offer!
Open Closed

Masstransit outbox pattern with AbpDbContext #8701


User avatar
0
Teknosol created
  • ABP Framework version: 9.0.2
  • UI Type: Angular /
  • Database System: EF Core (PostgreSQL,)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes

Hi,

I want to use masstransit outbox pattern in my abp project but while my entities are writing to db, masstransit outbox entities are not writing to db. Do you have a method to add objects to AbpDbContext to tracking?

If you want I can send you the project.

This is my program.cs file where I set up masstransit settings and run the db context.

I add entities to dbcontext like this:

This is the commanddb context that implements the basedb context


8 Answer(s)
  • User Avatar
    0
    Teknosol created

    Our problem continues, I ask for your support.

  • User Avatar
    0
    berkansasmaz created
    Support Team .NET Developer

    Hello, first of all, sorry for the late reply, this was somehow overlooked.

    We don't have much experience with MassTransit, but if you can send a minimal reproducible example we would like to help as much as we can. Also, as a short information, ABP already supports Inbox/Outbox patterns and we have documentation for this. So I can say that you don't need MassTransit for this purpose. However, if you still want to use MassTransit, we will try to help as much as we can if you can send an application where I can reproduce the problem.

    Note: I guarantee that you will have a much more holistic and easier experience if you use the solution provided by ABP. See more: https://abp.io/docs/latest/studio/monitoring-applications#events

  • User Avatar
    0
    Teknosol created

    Hello, first of all, sorry for the late reply, this was somehow overlooked.

    We don't have much experience with MassTransit, but if you can send a minimal reproducible example we would like to help as much as we can. Also, as a short information, ABP already supports Inbox/Outbox patterns and we have documentation for this. So I can say that you don't need MassTransit for this purpose. However, if you still want to use MassTransit, we will try to help as much as we can if you can send an application where I can reproduce the problem.

    Note: I guarantee that you will have a much more holistic and easier experience if you use the solution provided by ABP. See more: https://abp.io/docs/latest/studio/monitoring-applications#events

    Hello, If I can get your e-mail address, I can share a sample project of our problem with you. Thank you

  • User Avatar
    0
    berkansasmaz created
    Support Team .NET Developer

    You can send to your sample application to support@abp.io address with text like below:

    Please forward my mail to Berkan Sasmaz regarding ticket #8701.

  • User Avatar
    0
    Teknosol created

    Thank you, I sent it via e-mail, I request your support.

  • User Avatar
    0
    berkansasmaz created
    Support Team .NET Developer

    I received your mail and downloaded your project, but since I did not work on the weekend, I will review your project during working hours on Monday and get back to you. Thank you for your patience.

    Have a good weekend.

  • User Avatar
    0
    Teknosol created

    Hi, have you reviewed the project? Is there any progress?

  • User Avatar
    0
    berkansasmaz created
    Support Team .NET Developer

    Hello, I examined your project in detail, but I can't say anything because I don't know much about MassTransit. However, I have a few suggestions:

    Can you use the UnitOfWorkManager.Current.AddOrReplaceDistributedEvent method where you publish the event? If you can, can you try it like this?

    You can see how to use it in the code example here: https://github.com/abpframework/abp/blob/8d1d89ac7fe3082e342add226e97f417e7f9d287/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Events/EntityChangeEventHelper.cs#L128-L172


    Note: By the way, you can use ABP's Inbox/Outbox feature without adding dependencies to your Domain layer. It's almost the same as what you did for MassTransit.

Made with ❤️ on ABP v9.2.0-preview. Updated on February 13, 2025, 10:35