private IServiceScopeFactory serviceScopeFactory;
public Service(IServiceScopeFactory serviceScopeFactory)
{this.serviceScopeFactory = serviceScopeFactory;}
如有事务,在事务complete之后加
Task.Run(() =>
{
using (var scope = this.serviceScopeFactory.CreateScope())
{
var service = scope.ServiceProvider.GetRequiredService<IService>();
//如果使用依赖项注入,则应该让依赖项注入容器负责处理上下文实例。
service.方法(); //需求处理
}
});