gpt4 book ai didi

c# - ASP.NET core 是否可以仅在开发模式下在 Controller 中配置操作?

转载 作者:行者123 更新时间:2023-12-02 06:51:30 24 4
gpt4 key购买 nike

在我的 ASP.NET Core Web 应用程序中,我希望有一个仅在开发模式下运行的操作。在生产模式下,也许 404 错误就足够了。可以这样做吗?

最佳答案

这可以通过将 IHostEnvironment 注入(inject) Controller 并在操作本身内部使用其 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 在 this answer 中解释了如何使用操作过滤器来实现此目的.

<小时/>

对于 ASP.NET Core < 3.0,请使用 IHostingEnvironment 代替 IHostEnvironment

关于c# - ASP.NET core 是否可以仅在开发模式下在 Controller 中配置操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56495475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com