什么是中间件?
中间件是位于客户端和服务器之间的一个处理接口请求的组件。它为我们提供了一种灵活、可扩展和可维护的方式来处理这些请求和响应
中间件可以被视为一种管道,用于对HTTP请求和响应进行处理、过滤,常见的有跨域,静态文件。
中间件分为内置中间件和自定义中间件,中间件按照顺序依次执行
执行顺序一般如下:
中间件的作用:
中间件可以用于处理请求,例如跨域,验证令牌,静态文件等。通过在中间件中实现这些功能,我们可以确保只有经过验证的用户才能访问受保护的数据。
中间件还可以对响应进行处理,通过中间件,我们可以实现各种响应处理以便与客户端进行更好的交互。中间件还可以用于捕获和处理发生在应用程序中的错误,
并返回适当的错误响应,从而增强程序的稳定性和可靠性。
我们也可以创建自定义中间件
比如可以创建一个令牌验证的中间件
public class MyMiddleware : IMiddleware { public MyMiddleware(IUserService user,MyContext context) { User = user; Context = context; } public IUserService User { get; } public MyContext Context { get; } public Task InvokeAsync(HttpContext context, RequestDelegate next) { //获取调用的接口地址 var qurl = context.Request.Path.Value.ToLower(); //需要进行验证地址 var urlshop = "/api/All/GetShopCart".ToLower(); //判断地址是否相同 if (urlshop==qurl) { string token = context.Request.Headers["token"].ToString(); if (!User.GetToken(token)) { //阻止访问 return Task.CompletedTask; } } //可以访问 return next(context); } }
然后在Program.cs中添加中间件
app.UseMiddleware(typeof(MyMiddleware));
这样,就添加了一个验证令牌的中间件。
标签:验证,处理,中间件,响应,context,public From: https://www.cnblogs.com/iamlcw/p/17636116.html