Asp.net关键最有使用价值足球运动员相匹配ASP.NET最有使用价值足球运动员。NET架构。前面一种是混合开发,可拓展,性能卓越的。但让人震惊的是,虽然ASP.NET关键给予了很多选择项来极致解决404个不正确,但ASP.NET关键MVC在默认设置状况下并不是挑选他们。你觉得怪异吗?
因而,当要求不会有的网页页面时,应用软件将回到404不正确。现阶段,ASP.NET Core MVC会展示一个电脑浏览器普遍的不正确网页页面,如下图所显示:
在这篇文章中,我将探讨三种雅致地解决这一404不正确的方式。
下面,我将在Visual Studio 2019中建立一个ASP.NET Core MVC新项目,并运用这一新项目展现如何处理404个不正确。
随后在ASP.NET运作Core MVC新项目,您会见到应用软件的默认主页含有热烈欢迎行,如下图所显示:
下面,大家试着在网页中键入一个不会有的URL,比如:http://localhost:6440/welcome。这时,ASP.NET关键MVC模块将浏览这一地点的資源。显而易见,模块毫无疑问会回到一个404不正确,你也会见到下边的不正确网页页面,这基本上是非常尴尬的,是吧?
查验回应。ASP.NET关键MVC现况。
有几种方式能够极致地解决这一默认设置的404不正确。一个简洁的解决方法是查验回应的http情况编码。寻找情况= 404后,您能够跳转到网页页面或特殊的不正确网页页面。下边的编码表明,您能够在运行中开展全局性分辨。配备方式,一旦发觉404不正确,您将被正确引导到首页。
public class Startup { public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.Use(async (context, next) => { await next(); if (context.Response.StatusCode == 404) { context.Request.Path = "/Home"; await next(); } }); } }
下面,运作web程序流程,随后输入http://localhost:6440/welcome,你能发觉首页总算表明出来。
下边是Configure方式的详细编码。
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); } app.Use(async (context, next) => { await next(); if (context.Response.StatusCode == 404) { context.Request.Path = "/Home"; await next(); } }); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); }); }
应用UseStatusCodePages分布式数据库。
第二个候选解决方法是应用ASP.NET关键建立的UseStatusCodePages分布式数据库。下边的编码表明了怎样在运行中完成情况表明。配备方式。
public void Configure(iapplicationBuilder app, IWebHostEnvironment env) { app.UseStatusCodePages(); //Other code }
如今,您能够启动程序流程并访问这一不会有的資源。下面的图表明了这个情形下的輸出:
将usestatuscodepageswith与reexecute分布式数据库一起应用。
您能够使用usestatuscodepageswith reexecute分布式数据库来解决在搭建Response以前碰到的一些失败的情况,因而该分布式数据库不容易解决Response情况相当于404的状况。当404产生时,这一分布式数据库必须做的是将要求跳转到另一个Action来解决这一不正确。
下边的编码展现了怎么使用这一分布式数据库将要求跳转到另一个姿势方式。
app.UseStatusCodePagesWithReExecute("/Home/HandleError/{0}");
随后看一下跳转的Action方式。
[Route("/Home/HandleError/{code:int}")]public IActionResult HandleError(int code){ ViewData["ErrorMessage"] = $"Error occurred. The ErrorCode is: {code}"; return View("~/Views/Shared/HandleError.cshtml");}
如今我将把建立表明错误报告的HandleError主视图交给您!
最终,您很有可能想为一些错误码建立一些特殊的主视图,比如,您需要创立一个Home/Error/500.cshtml或Home/Error/404.cshtml主视图,随后依据http情况编码的值跳转到恰当的不正确网页页面。
另一种解决404不正确的办法是应用自定网页页面,随后在界面上设定一些特殊的错误码,那样也便捷掩藏一些重要信息,例如将404改为服务项目工作压力,请找管理人员等。一旦应用软件中发生不正确,您还可以将客户引导到您安装的不正确网页页面,随后表明您安装的错误报告。
1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:duhaomu@163.com,我们将第一时间处理!
2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。
3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明。