我正在调查ASP.NET 5中的DI主题,我遇到了这样的问题 - 我不明白如何为每个请求创建一个新的服务实例.
我用的代码是:
services.AddScoped<ValueStore>();
Run Code Online (Sandbox Code Playgroud)
在我的中间件中,我抓住了价值:
var someValueStore = app.ApplicationServices.GetService<ValueStore>();
Run Code Online (Sandbox Code Playgroud)
完整代码可在此处获得
我的问题是:虽然我希望在每个请求上更新此服务,但它不会发生,并且它的行为就像它被注册为AddSingleton().
我做错了吗?
一些Entity Framework核心CLI命令接受environment参数.例如dotnet ef migrations list --environment <env_name>.
我保持迁移的程序集与数据实体程序集是分开的,因此我必须从中派生IDbContextFactory.
我的问题就出现了:有没有办法让我的DbContextFactory类中传递给CLI的环境参数?我需要这个来应用特定环境的连接字符串.
提前致谢.