我正在编写我的第一个 ASP.Net 代码 Web 应用程序,在我的控制器中我希望有一个if
检查我是否处于调试模式的语句。我知道在 Startup.cs 文件中我可以检查env.IsDevelopment()
但那是因为IHostingEnvironment
被传递到其中。我无法找到一种方法来检查普通控制器内的此状态。 ASP.Net Core 中有没有一种方法可以检测我何时在缺少的控制器内处于调试模式?
Update:@普拉迪普·库马尔的在下面发帖 https://stackoverflow.com/a/42776771/2525561是这里更正确的答案。此答案仅指示如何通过控制器中的依赖项注入访问 IsDevelopment() 环境标志。
Update:
IHostingEnvironment 在 .Net Core 3.1 中已过时,请参阅以下内容了解 .Net Core 3.1+https://stackoverflow.com/a/61703339/2525561 https://stackoverflow.com/a/61703339/2525561
您应该能够将 IHostingEnvironment 注入到控制器构造函数中。
protected readonly IHostingEnvironment HostingEnvironment;
public TestController(IConfiguration configuration, IHostingEnvironment hostingEnv){
this.Configuration = configuration;
this.HostingEnvironment = hostingEnv;
}
[HttpGet]
public IActionResult Test(){
if(this.HostingEnvironment.IsDevelopment()){
// Do something
}
return View();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)