ASP.NET Core网页状态页

原创 Laughing  2017-09-05 15:32  阅读 53 次 评论 0 条

标题确实不知道怎么写。其实就是一个页面展示当前网页的状态码,比如200,404,500,301,302等

这篇文章其实是从官方文档异常处理页面摘抄翻译出来的。大家对于异常Error.cshtml都很了解了,所以直接跳过了那一块的内容。

StatusCodePage使用

我们先来看一下最简单的StatusCodePage使用。其实就是在configure里面调用app.UseStatusCodePages();中间件即可。然后我们打开网址,输入/missingpage,显示如下内容

进一步的,我们定制显示的内容,这里我们只显示statusCode

  1. app.UseStatusCodePages(async context=>{  
  2.                 context.HttpContext.Response.ContentType="text/plain";  
  3.                 await context.HttpContext.Response.WriteAsync(context.HttpContext.Response.StatusCode.ToString());  
  4.             });  


当然,上面的代码还有简单的写法app.UseStatusCodePages("text/plain", "{0}");

除了以上方法,我们可以定义跳转的页面,通过以下代码即可实现

app.UseStatusCodePagesWithRedirects("/Error");
app.UseStatusCodePagesWithReExecute("/Error/302");

我们可以禁止通过/missingpage的方式访问页面

  1. app.UseStatusCodePages(async context =>  
  2.             {  
  3.                 var statusCodePagesFeature = context.HttpContext.Features.Get<IStatusCodePagesFeature>();  
  4.                 if (statusCodePagesFeature != null)  
  5.                 {  
  6.                     statusCodePagesFeature.Enabled = false;  
  7.                 }  
  8.             });  

本文地址:https://www.lisen.me/the-core-web-status-page-at-asp-net.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情