タスク27:ミドルウェア導入管
HttpContext
図は、すべてのHttpContextのHttpContext 3つのパイプラインで実行されますが、内部REPONSEで何かを書くと、3つのミドルウェアを登録しました。すべてはのHttpContext REPONSE彼らに重畳され、私は最終的に私たちのREPONSEに戻りました。
RequestDelegateを返し、RequestDelegateを受けます
app.Use(次=> { リターン(コンテキスト)=> { context.Response.WriteAsync(" 2:開始の真ん中で... " ); 戻り、次の(コンテキスト); }; });
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); }; });
使用app.use注册middleware(中间件)
dotnet run 运行程序
如果我们第二步不执行next方法的话。那么输出的结果
后面的middleWare就不会执行了。
app.Map方法:提供给我们一个路由的机制,这个和后面讲到的路由的middleware是相关的
比如说我们传到/Task 他会提供给我们一个Action
接收了一个ApplicationBuilder
Map我们要写在前面,否则管道就被截断了
http://localhost:5000/task 我们只有在浏览器中输入/task才能看到我们的中间件输出的结果。
这种方式是后面我们用来构建路由的基础。
这就是我们讲的APplicationBuilder的用到的三个方法 use、run、map注册中间件的三个方法
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。