Rov*_*ver 2 .net c# asp.net dependency-injection asp.net-core-mvc
为不同环境配置服务的正确方法是什么?
例如,我想将FakeService添加到DEV配置的服务集合和发布配置的RealService.
public void ConfigureServices(IServiceCollection services)
{
/* Need to check environment */
services.AddSingleton<IService, FakeService>();
....
}
Run Code Online (Sandbox Code Playgroud)
MVC 6有一个值来定义它是什么环境,这可以由环境变量ASPNET_ENV设置.您可以从IHostingEnvironment获取该值:
public void ConfigureServices(IServiceCollection services)
{
var env = services.BuildServiceProvider().GetRequiredService<IHostingEnvironment>();
if (env.IsDevelopment())
Console.WriteLine("Development");
else if (env.IsProduction())
Console.WriteLine("Production");
else if (env.IsEnvironment("MyCustomEnvironment"))
Console.WriteLine("MyCustomEnvironment");
}
Run Code Online (Sandbox Code Playgroud)
您可以通过右键单击>属性>调试>环境变量在项目中设置VS2015中的值:
| 归档时间: |
|
| 查看次数: |
527 次 |
| 最近记录: |