在我的 ASP.NET Core Web 应用程序中,我希望有一个仅在开发模式下运行的操作。在生产模式下,也许 404 错误就足够了。可以这样做吗?
这可以通过注入来实现IHostEnvironment
进入你的控制器并使用它的IsDevelopment()
操作本身内部的方法。以下是在开发环境以外的任何环境中运行时返回 404 的完整示例:
public class SomeController : Controller
{
private readonly IHostEnvironment hostEnvironment;
public SomeController(IHostEnvironment hostEnvironment)
{
this.hostEnvironment = hostEnvironment;
}
public IActionResult SomeAction()
{
if (!hostEnvironment.IsDevelopment())
return NotFound();
// Otherwise, return something else for Development.
}
}
如果您想在全球范围内更广泛地应用此功能,或者您只是想分离出问题,Daboul 解释了如何使用操作过滤器来做到这一点这个答案 https://stackoverflow.com/a/56495597/2630078.
对于 ASP.NET Core IHostingEnvironment代替IHostEnvironment
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)