我有一个基本的接口和类,我在“ConfigureServices”中注册为作用域服务。
示例:
services.AddScoped<ICachingDataManager, CachingDataManager>();
在这个类CachingDataManager中,我从EF注入一个DbContext。然后在“ConfigureServices”中注册该上下文。没什么好看的。
services.AddDbContext<PhoneContext>();
现在我想在启动时从CachingDataManager运行一个方法(它初始化缓存以提供一些上下文)。所以在“配置”部分我运行:
app.ApplicationServices.GetRequiredService<ICachingDataManager>().Initialize();
这里它一直失败,因为它是一个作用域服务,如果我从单例执行一个方法,这执行没有任何问题。
任何见解?