目次
Example
ホームページ バックエンド開発 C#.Net チュートリアル C# ASP.NET Core パイプラインにミドルウェアを追加する場合、「Map」拡張機能はどのように使用されますか?

C# ASP.NET Core パイプラインにミドルウェアを追加する場合、「Map」拡張機能はどのように使用されますか?

Sep 13, 2023 pm 09:13 PM

向 C# ASP.NET Core 管道添加中间件时,“Map”扩展有什么用?

ミドルウェアは、アプリケーション パイプラインに組み込まれるソフトウェア コンポーネントです。 リクエストとレスポンスを処理します。

各コンポーネントは、リクエストを次のコンポーネントに渡すかどうかを選択します。 パイプラインを構築し、次のコンポーネントの前後で特定の操作を実行できます。 パイプラインで呼び出されます。

マップ拡張機能は、パイプライン分岐の規則として使用されます。

マップ拡張メソッドは、要求されたデリゲートに基づいてリクエスト デリゲートを照合するために使用されます。 path.Map は単にパスと関数を受け入れて、個々のミドルウェアを構成します。 パイプライン。

以下の例では、ベース パスが /maptest であるリクエストが処理されます。 HandleMapTest メソッドで構成されたパイプラインを介して。

Example

private static void HandleMapTest(IApplicationBuilder app){
   app.Run(async context =>{
      await context.Response.WriteAsync("Map Test Successful");
   });
}
public void ConfigureMapping(IApplicationBuilder app){
   app.Map("/maptest", HandleMapTest);
}
ログイン後にコピー

MapWhen メソッドは、パスベースのマッピングに加えて、述語ベースのマッピングもサポートします。

優れた柔軟性を備えた個別のパイプラインの構築を可能にするミドルウェアのフォーク ファッション.

Func<HttpContext, bool> タイプの述語は、リクエストをマップするために使用できます。 新しいパイプライン ブランチ。

private static void HandleBranch(IApplicationBuilder app){
   app.Run(async context =&gt;{
      await context.Response.WriteAsync(&quot;Branch used.&quot;);
   });
}
public void ConfigureMapWhen(IApplicationBuilder app){
   app.MapWhen(context =&gt; {
      return context.Request.Query.ContainsKey(&quot;branch&quot;);
   }, HandleBranch);
      app.Run(async context =&gt;{
         await context.Response.WriteAsync(&quot;Hello from &quot; + _environment);
   });
}
ログイン後にコピー

マップはネストすることもできます

app.Map(&quot;/level1&quot;, level1App =&gt; {
   level1App.Map(&quot;/level2a&quot;, level2AApp =&gt; {
      // &quot;/level1/level2a&quot;
      //...
   });
   level1App.Map(&quot;/level2b&quot;, level2BApp =&gt; {
      // &quot;/level1/level2b&quot;
      //...
   });
});
ログイン後にコピー

以上がC# ASP.NET Core パイプラインにミドルウェアを追加する場合、「Map」拡張機能はどのように使用されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

次のレベルのCコンパイラを追加する方法 次のレベルのCコンパイラを追加する方法 Mar 03, 2025 pm 05:44 PM

次のレベルのCコンパイラを追加する方法

C言語のnullの代替案は何ですか C言語のnullの代替案は何ですか Mar 03, 2025 pm 05:37 PM

C言語のnullの代替案は何ですか

C言語コンパイラのWebバージョンは何ですか? C言語コンパイラのWebバージョンは何ですか? Mar 03, 2025 pm 05:42 PM

C言語コンパイラのWebバージョンは何ですか?

C言語コンパイラによるコードをコピーする方法 C言語コンパイラによるコードをコピーする方法 Mar 03, 2025 pm 05:43 PM

C言語コンパイラによるコードをコピーする方法

どの言語コンパイラが優れていますか? どの言語コンパイラが優れていますか? Mar 03, 2025 pm 05:39 PM

どの言語コンパイラが優れていますか?

nullは、C言語での最新のプログラミングではまだ重要ですか? nullは、C言語での最新のプログラミングではまだ重要ですか? Mar 03, 2025 pm 05:35 PM

nullは、C言語での最新のプログラミングではまだ重要ですか?

c言語オンラインプログラミングウェブサイトc言語コンパイラ公式ウェブサイトの要約 c言語オンラインプログラミングウェブサイトc言語コンパイラ公式ウェブサイトの要約 Mar 03, 2025 pm 05:41 PM

c言語オンラインプログラミングウェブサイトc言語コンパイラ公式ウェブサイトの要約

c言語コンパイラインストールチュートリアル(コンピューターバージョン) c言語コンパイラインストールチュートリアル(コンピューターバージョン) Mar 03, 2025 pm 05:41 PM

c言語コンパイラインストールチュートリアル(コンピューターバージョン)

See all articles