中间件(Middleware)是一个可以处理 HTTP 请求或响应的软件管道。
如图,这是一个“管道”该管道是由Startup.cs文件中的Configure()方法进行配置,“管道”中有Logging 、StaticFiles 、MVC中间件,这些中间件组件各自有自己的用途,分别是日志的记录、静态文件处理、MVC处理。
1、中间件组件可以处理请求,并且可以决定不再调用管道中的下个中间件,从而使管道短路。
例如StaticFiles中间件,如果请求的时静态文件,如图片或者CSS等则 StaticFiles中间件会处理请求,并且使得管道中的其余中间件短路掉。如上图则不会再执行MVC中间件,规避无谓的操作。
2、中间件组件还可以处理传出响应。
例如传入时日志记录中间件可以记录请求时间,当请求处理完后,响应发送时仍可以使用日志记录响应时间,已达到获取请求处理的时长。
3、中间件组件是按照添加到管道的顺序进行执行的。
我们需要以正确的顺序添加中间件到管道中(顺序添加到Configure()中)。
4、中间件组件应该用 NuGet 包的形式提供。
ASP.NET Core 中的大多数中间件组件可以自定义,每当要自定义中间件组件时,请始终记住我们可能拥有相应的OPTIONS对象,例如:
DeveloperExceptionPageOptions developerExceptionPageOptions = new DeveloperExceptionPageOptions
{
SourceCodeLineCount = 10
};
app.UseDeveloperExceptionPage(developerExceptionPageOptions);
学习笔记来源于:52abp学习文档
网友评论