我有一个MVC应用程序,在其中一个视图上,我有一种非常复杂的Blazor日历组件,它列出了所有账户(员工和雇主(及其可用性/空缺。
该日历上发生了大量读取/保存/更新DB操作,我目前没有重用MVC服务,但我创建了一个新的dbContext,并为Blazor日历提供了单独的服务。这是因为我不能使用MVC依赖容器,因为signalR会讨厌它
现在,我读到了关于IServiceScopeFactory的文章,我想知道我是否可以通过创建一个新的作用域并将Blazor Calendar中的每个方法包装在中来重用MVC服务
using (IServiceScope scope = scopeFactory.CreateScope())
{
}
以及重用MVC服务。
这有缺点吗?我可能必须对每个方法调用上面的代码,但通过这种方式,我也可以调用我的MVC服务,这些服务已经拥有实体的所有创建/更新方法。这行得通吗?有什么理由让我不做这件事吗?
如果使用IDbContentFactory,那么没有scopeFactory应该没问题。