DotNET Core中间件定义
2021/5/9 18:29:08
本文主要是介绍DotNET Core中间件定义,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
今天我们来学习中间件定义的两种方式,在NET Core中最重要的莫过于是中间件了,毫不夸张的讲,NET Core就是通过多个中间件组成的;中间件的定义有两种方式,一种是定义强类型中间件,另一种是定义弱类型中间件,接下来我们就好好的讲解一下如何定义这两种类型的中间件。
强类型中间件
这种类型的中间件定义是通过继承提供的固定的接口来实现的,这个固定的接口就是IMiddleware,既实现这个接口的都称作为强类型中间件
弱类型中间件
这种类型的中间件定义是通过基于约定的方式来实现的,如何你熟悉MVC,你应该知道约定大于配置这句话。
在NET Core中对于定义弱类型的中间件的约定是:
中间件类型必须有一个有效的公共构造函数,且该构造函数必须包含一个RequestDelegate类型的参数,值得注意的是该参数的位置不固定,且该构造函数的参数个数也不固定
中间件类型针对请求处理的实现必须在一个返回类型为Task类型的Invoke方法或者InvokeAsync方法中,且该方法的第一个参数类型必须为HttpContext,值得注意的是后续的参数没有任何的限制,但是由于最终这些参数都需要由DI框架提供,所以,使用的时候必须对相应的参数进行服务注册。
以上就是中间件定义的两种方式,我们可以对比一下这两种方式的异同,首先是代码的区别,我们可以很直观的看到强类型中间件通过继承接口的方式实现的方法带有两个参数,这两个参数正好是分散在弱类型构造函数和方法中的两个参数,所以由此我们可以得出任何中间件的定义都必须要提供HTTPContext和RequestDelegate这两个类型参数,只是实现提供的方式不同而已。
from: https://blog.csdn.net/weixin_30039755/article/details/112642199
这篇关于DotNET Core中间件定义的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具
- 2024-01-24.NET集成IdGenerator生成分布式全局唯一ID
- 2024-01-23用CI/CD工具Vela部署Elasticsearch + C# 如何使用
- 2024-01-23.NET开源的简单、快速、强大的前后端分离后台权限管理系统