タスク27:ミドルウェア導入管

タスク27:ミドルウェア導入管

 

 

HttpContext

図は、すべてのHttpContextのHttpContext 3つのパイプラインで実行されますが、内部REPONSEで何かを書くと、3つのミドルウェアを登録しました。すべてはのHttpContext REPONSE彼らに重畳され、私は最終的に私たちのREPONSEに戻りました。

 

 

 

 

 

 

RequestDelegateを返し、RequestDelegateを受けます

app.Use(次=> {
                 リターン(コンテキスト)=> { 
                    context.Response.WriteAsync(" 2:開始の真ん中で... " );
                     戻り、次の(コンテキスト); 
                }; 
            });
受信RequestDelegate

 

app.use登録ミドルウェア(ミドルウェア)を使用します

 

DOTNETの実行は、プログラムを実行します

我々は第二のステップは、次の方法を実行しない場合。出力の結果

戻るミドルウェアは実行されません。

 

app.Map方法は:私たちのルートのためのメカニズムを提供し、後に関連するミドルウェアのルーティングについて話します

例えば、我々は彼がアクションをご提供します/タスクに達しました

彼はApplicationBuilderを受け

私たちはしなければならないマップEDITORIAL、そうでない場合はパイプラインが切断されました

http:// localhostを:我々は唯一の私たちのミドルウェア出力の結果を確認するには、ブラウザ/タスクに入力した5000 /タスク。

这种方式是后面我们用来构建路由的基础。

这就是我们讲的APplicationBuilder的用到的三个方法 use、run、map注册中间件的三个方法

 



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。

任务27:Middleware管道介绍

 

 

HttpContext

图中注册了三个中间件,所有httpContext就会在这三个管道上都执行HttpContext,会在Reponse里面写一些东西。所有东西会叠加到HttpContext的Reponse当中,最后返回给我我们的Reponse中。

 

 

 

 

 

 

接收一个RequestDelegate,再返回一个RequestDelegate

app.Use(next=>{
                return (context)=>{
                    context.Response.WriteAsync("2: in the middle of start...");
                    return next(context);
                };
            });
接收RequestDelegate

 

使用app.use注册middleware(中间件)

 

dotnet run 运行程序

如果我们第二步不执行next方法的话。那么输出的结果

后面的middleWare就不会执行了。

 

app.Map方法:提供给我们一个路由的机制,这个和后面讲到的路由的middleware是相关的

比如说我们传到/Task 他会提供给我们一个Action

接收了一个ApplicationBuilder

Map我们要写在前面,否则管道就被截断了

http://localhost:5000/task 我们只有在浏览器中输入/task才能看到我们的中间件输出的结果。

这种方式是后面我们用来构建路由的基础。

这就是我们讲的APplicationBuilder的用到的三个方法 use、run、map注册中间件的三个方法

 



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。

おすすめ

転載: www.cnblogs.com/owenzh/p/11306985.html