multi-tenant - MassTransit 与 SaasKit 集成:消费消息时如何生成租户?
问题描述
我正在将 MassTransit 集成到使用 SaasKit 实现多租户的解决方案中。
我的 DbContext 使用在“OnConfiguring”中定义连接字符串的方法,如下所述:
https://benfoster.io/blog/aspnet-core-multi-tenancy-data-isolation-with-entity-framework
问题是在消费消息时,Tenant 不存在,所以 DbContext 没有正确初始化。
如何在 MassTransit 的生命周期内注入租户?
我正在使用 AspNet Core 依赖注入,我在其中添加了这样的租户:
public void Configure(...)
(...)
app.UseMultitenancy<MyTenant>();
总线配置:
var busControl = Bus.Factory.CreateUsingRabbitMq(cfg =>
{
(...)
cfg.ReceiveEndpoint(host, "customer-updated", ep =>
{
ep.PrefetchCount = 1;
ep.UseMessageRetry(r => r.Interval(2, 100));
ep.ConfigureConsumer<CustomerUpdatedConsumer>(provider);
EndpointConvention.Map<ICustomerUpdated>(ep.InputAddress);
});
在我的 DbContext 构造函数中,只有在使用消息时,我才会将 MyTenant 设为 null ...
public MyDbContext(DbContextOptions<MyDbContext> options, MyTenant tenant)
{
this.tenant = tenant;
}
是否有人已经尝试将 SaasKit 与 MassTransit 集成?
谢谢
解决方案
推荐阅读
- firebase - How to create a pubsub topic within firebase functions
- firebase - 如何在现有项目中从 Datastore 切换到 Firestore?
- objective-c - 当我按下转换按钮目标c,xcode时如何执行if循环
- php - 如何在表单字段中添加日期和时间
- javascript - Java Spring Boot - enable button when server says
- javascript - AngularJS - 从开发工具编辑范围函数
- python - ValueError:无法将字符串转换为浮点数:'n'
- android - RecyclerView items with different heights with FlexboxLayoutManager
- sql-server - How to transform data with SSIS Transfer SQL Server Objects Task?
- python - Take a 2D list of any even dimensions and return a list holding the count of thing for each 2 X 2 grid (Python)