如何在具有依赖注入的Controller上运行后台任务(使用带有实体框架的DbContext)

时间:2017-05-22 19:45:02

标签: c# asp.net-mvc entity-framework dependency-injection

我使用依赖注入传递MyDbContext

ConfigureServices的{​​{1}}中,我正在使用

Startup.cs

所以在我的控制器构造函数中,我可以这样做:

services.AddDbContext<MyDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

在其中一种HTTP方法中,我使用public MyController(MyDbContext context)进行了一些数据库更改,但后来我想开启一个长期运行的&#34;任务进行更多的数据库更改。我不能使用相同的MyDbContext实例(范围会在任务完成之前处理它),所以有没有办法传入多个(或某种工厂生成){{1}具有与当前通过依赖注入传递的MyDbContext相同设置的实例?或者甚至是正确的方法?我即将放弃EF,只使用标准SQL。

我正在使用ASP Core。

谢谢!

0 个答案:

没有答案