ただ言うことができませんでしたミドルウェアの.NETコアコンセプトがされている学習多くの友人が、最終的にはスタートアップでの設定方法をしているのですか?
公共の 無効設定(IApplicationBuilderアプリ、IHostingEnvironment ENV) { もし(env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseMvc(); }
誰もがそれぞれの着信要求を再度設定方法ミドルウェア上で実行されることを述べているが、唯一のプログラムはすべてのリクエスト後、起動時にコードを実行し、入力しないであろうことがわかったデバッグ通じ
以下は、私たちに簡単な説明を与えます:
独自のビジネス・ロジックを持つ、三つの方法ABCがあると仮定し、パラメータの型と同じ戻り値の型
パブリックタスクMethodA(のHttpContextコンテキスト)。 パブリックタスクMethodB(のHttpContextコンテキスト)。 パブリックタスクMethodC(のHttpContextコンテキスト)。
B法、C法は、このように、メソッドのBCなりに私はいくつかの手段で、この時間をするとします。
パブリックタスクMethodBC(のHttpContextコンテキスト) { // 方法Bオリジナルロジック リターンMethodC(コンテキスト)。 }
同様の方法A法BCへメソッドABCに入れます:
パブリックタスクMethodABC(のHttpContextコンテキスト) { // メソッドAの元ロジック リターンMethodBC(コンテキスト)。 } 拡張: パブリックタスクMethodABC(のHttpContextコンテキスト) { // メソッドAの元ロジック // 方法Bオリジナルロジック リターンMethodC(コンテキスト)。 }
3は、相互にもともとサーバーが要求、重合工程に投入された優れたパッケージのコンテキストを受信したときに、1つのアプローチをこするメソッドの実行を終了しました
オブザーバーモードを感じ思考の変化は、単純な、IServer書き込みイベントではありません、記入する必要がある、それだけで罰金を登録しました
それはどのようにそれのパラメータと同様の方法を使用することができ、自然に以下の公式声明を委託:
タスクなどのHttpContextのパラメータ、戻り値にミドルウェアの最も基本的なコンポーネント
デリゲートタスクRequestDelegate(のHttpContextコンテキスト)。
ミドルウェア基本的な実装の原則:
公共RequestDelegate使用(RequestDelegate @Delegate) { リターン(文脈)=> { // いくつかのロジック・ リターンdelegate.Invoke(コンテキスト)@; }。 }
RequestDelegate戻っ慎重に考えを再構築し、それが前@Delegateにした後、いくつかのロジックを追加したことではありません
グラム