UgK*_*Knu 6 custom-error-pages asp.net-core-mvc asp.net-core .net-5
我正在尝试在我的 .NET 5.0 中实现一个自定义 404 页面,以便在 Web 应用程序投入生产时使用。我在Startup.cs 中实现了以下内容;
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseStatusCodePagesWithRedirects("/Error/{0}");
}
...
}
Run Code Online (Sandbox Code Playgroud)
链接到一个简单的ErrorController
public class ErrorController : Controller
{
[Route("/Error/{statusCode}")]
public IActionResult HttpStatusCodeHandler(int statusCode)
{
switch(statusCode)
{
case 404:
//ViewBag.ErrorMessage("Resource could not be found.");
break;
}
return View("Error");
}
}
Run Code Online (Sandbox Code Playgroud)
和去Error.cshtml中发现的共享。
这对删除默认Status Code: 404; Not Found页面没有任何作用,但如果我localhost/Error/404直接通过 url转到该页面,则可以访问该页面。
这就是我记得使用以前版本的 .NET 实现这一点的方式,但现在我不确定我是否遗漏了什么,或者新的 .NET 5.0 是否对实现自定义 404 页面有新的要求。
任何帮助将不胜感激。
编辑:launchSettings.json配置文件:
"Proj_prod": {
"commandName": "Project",
"dotnetRunMessages": "true",
"launchBrowser": true,
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Production"
}
}
Run Code Online (Sandbox Code Playgroud)
好吧,有问题的实际代码按预期工作。一位工作伙伴app.UseStatusCodePages();后来在配置中添加了我没有注意到的内容。
(是的,花了 14 天。我终于回到这个问题,才注意到。)
| 归档时间: |
|
| 查看次数: |
131 次 |
| 最近记录: |