沧州做网站公司,合肥网站建设程序,wordpress建站 图片,郑州做网站找赢博科技ASP.NET Core 中间件的配置方法可以分为以上三种#xff0c;对应的Helper方法分别是#xff1a;Run(), Use(), Map()。Run()#xff0c;使用Run调用中间件的时候#xff0c;会直接返回一个响应#xff0c;所以后续的中间件将不会被执行了。Use()#xff0c;它会对请求做一… ASP.NET Core 中间件的配置方法可以分为以上三种对应的Helper方法分别是Run(), Use(), Map()。Run()使用Run调用中间件的时候会直接返回一个响应所以后续的中间件将不会被执行了。Use()它会对请求做一些工作或处理例如添加一些请求的上下文数据有时候甚至什么也不做直接把请求交给下一个中间件。Map()它会把请求重新路由到其它的中间件路径上去。实际中呢Use()这个helper方法用的最多。 Run() 这是一个使用Run方法调用的中间件Run方法会终止整个中间件管道它应该返回某种类型的响应。 Use(): Use看起来和Run差不多但是多了一个next参数。next可以用来调用请求管道中的下一个中间件。而当前的中间件也可以自己返回响应这就忽略掉了next调用。在next调用之前我们可以写一些请求进来的逻辑而在next调用之后就相当于返回响应了这时候也可以写一些逻辑。在本例中我们下面还使用了Run方法注册了另一个中间件。因为中间件会按照它们注册的顺序进行调用所以在第一个Use方法里执行next.Invoke()的时候就会执行下面Run所调用的中间件。 Map() Map方法可以把请求路由到其它的中间件上面。在这里如果请求的路径以/jump结尾那么它所对应的handler方法也就是HereIAm方法的中间件就会被调用并返回一个响应。而如果请求的路径不是以/jump结尾那么HereIAm方法里面的中间件就不会被调用。 中间件Class上面的例子我都是使用的inline写法的中间件。而实际上中间件通常是自成一个类。中间件的类需要类似这样 自定义的中间件类需要由这几部分组成接受一个RequestDelegate类型的参数next的构造函数。按约定还需要定义一个叫做Invoke的方法。该方法里会包含主要的业务逻辑并且它会被请求管道所执行。Invoke方法可以忽略里面的_next调用并返回一个响应也可以调用_next.Invoke()把请求发送到管道的下一站。