gpt4 book ai didi

c# - 如何使 Razor 页面仅在开发中可用?

转载 作者:行者123 更新时间:2023-12-04 07:17:59 24 4
gpt4 key购买 nike

我有一个 API,其中还包含几个 Razor 页面。我想让其中一个 razor 页面仅在开发期间可用,因为它是一些支持工具。
最好的方法是什么?
使用 IPageFilter?
使用 csproj 文件中的 Condition 属性排除内容文件?
任何工作示例表示赞赏。

最佳答案

如果只需要屏蔽一个页面,可以直接在 Razor 页面中定义一个过滤器:

public class MyRazorPageModel : PageModel
{
private readonly IWebHostEnvironment _env; // using Microsoft.AspNetCore.Hosting;

public MyRazorPageModel (IWebHostEnvironment env) // Injected from ASP.NET Core
{
_env = env;
}

public void OnGet()
{
}

public override void OnPageHandlerExecuting(PageHandlerExecutingContext context)
{
// ASPNETCORE_ENVIRONMENT is not set to "Development" in Properties/launchSettings.json: return 404.
if (!_env.IsDevelopment()) // using Microsoft.Extensions.Hosting;
{
context.Result = NotFound();
}
}
}
如果要检查调试或 Release模式,可以使用 #if DEBUG .

关于c# - 如何使 Razor 页面仅在开发中可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68681372/

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