Этого можно достичь, введя IHostingEnvironment
в контроллер и используя его метод IsDevelopment()
внутри самого действия. Вот полный пример, который возвращает 404 во всем, кроме среды разработки:
public class SomeController : Controller
{
private readonly IHostingEnvironment hostingEnvironment;
public SomeController(IHostingEnvironment hostingEnvironment)
{
this.hostingEnvironment = hostingEnvironment;
}
public IActionResult SomeAction()
{
if (!hostingEnvironment.IsDevelopment())
return NotFound();
// Otherwise, return something else for Development.
}
}
Если вы хотите применить это более глобально или, возможно, вы просто хотите разделить проблемы, Daboul объясняет, как это сделать, с помощью фильтра действий в этом ответе (в настоящее время опубликовано ниже).