Asp.Net Core-中间件

在这一章,我们将了解如何设置中间件。中间件技术在 ASP.NET Core中控制我们的应用程序如何响应 HTTP 请求。它还可以控制应用程序的异常错误,这是一个在如何进行身份验证和授权用户执行特定的操作的关键。
现在让我们假设我们想将每个对我们应用程序的请求都记录日志。
案例
现在让我们通过一个简单的例子来理解更多关于中间件的知识。我们通过使用我们的启动类的Configure方法来配置中间件组件。
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Hosting;
using Microsoft.AspNet.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
namespace FirstAppDemo {
public class Startup {
public Startup() {
var builder = new ConfigurationBuilder()
.AddJsonFile("AppSettings.json");
Configuration = builder.Build();
}
public IConfiguration Configuration { get; set; }
// This method gets called by the runtime.
// Use this method to add services to the container.
// For more information on how to configure your application,
// visit http://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services) {
}
// This method gets called by the runtime.
// Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app) {
app.UseIISPlatformHandler();
app.Run(async (context) => {
var msg = Configuration["message"];
await context.Response.WriteAsync(msg);
});
}
// Entry point for the application.
public static void Main(string[] args) => WebApplication.Run<Startup>(args);
}
}
Configure()方法内,我们将调用IApplicationBuilder接口的扩展方法来添加中间件。
默认情况下在一个新的空项目有两块中间件-
IISPlatformHandler
Middleware registered with app.Run
IISPlatformHandler
IISPlatformHandler允许我们使用Windows身份验证。它将着眼于每个传入请求,看看是否有任何Windows身份信息相关的请求,然后调用下一个块中间件。
Middleware registered with app.Run
在这种情况下一个中间件在app.Run中注册的中间件。Run方法允许我们传入另一种方法,我们可以使用它来处理每一个响应。Run方法不是你经常会看到的,我们可以称它为一个中间件的终端。
你注册运行的中间件将永远不会有机会调用另一个中间件,它唯一能做的就是接收请求,便要产生某种反应。
你也访问到一个响应对象,你可以在响应对象中添加一些字符串。
如果你想在app.Run之后注册另一个中间件,这段中间件将永远不会被调用,因为Run方法是一个中间件的终端。它不会调用下一个块中间件。
如何添加一个中间件
让我们着手进行以下步骤来添加另一个中间件 −
步骤1−右键单击项目并选择Manage NuGet Packages。
步骤2−搜索 Microsoft.aspnet.diagnostics,此特定的软件包包含许多不同种的中间件,我们可以使用。
步骤3−如果该包没有安装在您的项目中,那选择安装这个包。
步骤4−现在让我们在Configure()方法调用app.UseWelcomePage中间件。
// This method gets called by the runtime.
// Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app) {
app.UseIISPlatformHandler();
app.UseWelcomePage();
app.Run(async (context) => {
var msg = Configuration["message"];
await context.Response.WriteAsync(msg);
});
步骤 5 − 运行您的应用程序,您将看到以下的欢迎屏幕。
这个欢迎屏幕可能不是那么有用。
步骤6−让我们试试别的东西,可能是更有用的,而不是使用欢迎页面,我们将使用RuntimeInfoPage。
// This method gets called by the runtime.
// Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app) {
app.UseIISPlatformHandler();
app.UseRuntimeInfoPage();
app.Run(async (context) => {
var msg = Configuration["message"];
await context.Response.WriteAsync(msg);
});
}
第 7 步 − 保存您的 Startup.cs 页面并刷新您的浏览器,你会看到下面的页面。
这个 RuntimeInfoPage 是中间件,将只响应一个特定的 URL 的请求。如果传入的请求与该 URL 不匹配,这个中间件只是让请求传递到下一件中间件。该请求将通过 IISPlatformHandler 中间件,然后转到 UseRuntimeInfoPage 中间件。它不会创建响应,所以它会转到我们的应用程序。运行并显示该字符串。
步骤8−我们在URL结尾添加“ runtimeinfo”。现在,您将看到一个页面,该页面是由中间件运行时信息页面。
你将看到一个返回页面,它给你展示了一些关于你的运行时环境,如操作系统、运行时版本,结构,类型和您正在使用的所有包的信息。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# ASP.NET
# Core
# 中间件
# ASP.NET Core中间件用法与官方常用中间件介绍
# ASP.NET Core基础之异常中间件
# ASP.NET Core基础之中间件
# 详解ASP.NET Core中间件Middleware
# 理解ASP.NET Core 中间件(Middleware)
# ASP.NET Core中间件计算Http请求时间示例详解
# ASP.NET Core中间件
# 应用程序
# 让我们
# 您的
# 是一个
# 令牌
# 我们可以
# 转到
# 您将
# 永远不会
# 在这种情况下
# 方法来
# 身份验证
# 都是
# 道中
# 是在
# 给你
# 在这个
# 你可以
# 在这
# 你会
相关文章:
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
网站制作需要会哪些技术,建立一个网站要花费多少?
建站主机与服务器功能差异如何区分?
自助网站制作软件,个人如何自助建网站?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
如何快速搭建高效WAP手机网站?
广平建站公司哪家专业可靠?如何选择?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
如何设置并定期更换建站之星安全管理员密码?
如何快速上传建站程序避免常见错误?
免费视频制作网站,更新又快又好的免费电影网站?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何在景安云服务器上绑定域名并配置虚拟主机?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
制作农业网站的软件,比较好的农业网站推荐一下?
,巨量百应是干嘛的?
如何快速建站并高效导出源代码?
官网网站制作腾讯审核要多久,联想路由器newifi官网
如何在万网开始建站?分步指南解析
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
已有域名能否直接搭建网站?
建站主机CVM配置优化、SEO策略与性能提升指南
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
昆明网站制作哪家好,昆明公租房申请网上登录入口?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
如何快速启动建站代理加盟业务?
,有什么在线背英语单词效率比较高的网站?
高端网站建设与定制开发一站式解决方案 中企动力
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
网站制作网站,深圳做网站哪家比较好?
建站之星备案流程有哪些注意事项?
如何在Windows服务器上快速搭建网站?
网站制作服务平台,有什么网站可以发布本地服务信息?
如何选择靠谱的建站公司加盟品牌?
如何通过NAT技术实现内网高效建站?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
如何通过商城自助建站源码实现零基础高效建站?
如何用好域名打造高点击率的自主建站?
香港服务器选型指南:免备案配置与高效建站方案解析
广东企业建站网站优化与SEO营销核心策略指南
如何自定义建站之星网站的导航菜单样式?
常州企业网站制作公司,全国继续教育网怎么登录?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
建站之星伪静态规则如何正确配置?
如何确认建站备案号应放置的具体位置?
如何快速上传自定义模板至建站之星?
临沂网站制作企业,临沂第三中学官方网站?
建站之星北京办公室:智能建站系统与小程序生成方案解析
*请认真填写需求信息,我们会在24小时内与您取得联系。