在工作中,我们为生产和开发环境提供了不同的数据库。这些数据库具有相同的模式,但数据却大相径庭。
我们有多个“行为变量”,在后端,这些变量会导致如下代码
switch(row.ProcessID)
{
case 1:
buy();
break;
case 2:
sell();
break;
}当然,这里的问题是用于生产的相同代码,例如,应该如下所示
switch(row.ProcessID)
{
case 2:
buy();
break;
case 8:
sell();
break;
}问题是我如何在开发和生产中处理这些不同的is?
发布于 2021-02-01 14:50:07
您可以通过注入IWebHostEnvironment来使用IsDevelopment()和IsProduction()扩展来满足您的需求:
using Microsoft.Extensions.Hosting;
using Microsoft.AspNetCore.Hosting;
public class HomeController : Controller
{
private readonly IWebHostEnvironment _env;
public HomeController(IWebHostEnvironment env)
{
_env = env;
}
public async Task<IActionResult> Index()
{
switch (row.ProcessID)
{
case 1:
buy();
break;
case 2:
if (_env.IsDevelopment())
{
sell();
}
else
{
buy();
}
break;
case 8:
sell();
break;
}
}
}如果使用asp.net Core2.x,则需要使用IHostingEnvironment。
https://stackoverflow.com/questions/65969605
复制相似问题