> 백엔드 개발 > C#.Net 튜토리얼 > C# ASP.NET Core 파이프라인에 미들웨어를 추가할 때 'Map' 확장을 사용하는 방법은 무엇인가요?

C# ASP.NET Core 파이프라인에 미들웨어를 추가할 때 'Map' 확장을 사용하는 방법은 무엇인가요?

王林
풀어 주다: 2023-09-13 21:13:06
앞으로
1026명이 탐색했습니다.

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

미들웨어는 애플리케이션 파이프라인에 조립된 소프트웨어 구성 요소입니다. 요청과 응답을 처리합니다.

각 구성 요소는 요청을 다음 구성 요소로 전달할지 여부를 선택합니다. 파이프라인이며 다음 구성요소 전후에 특정 작업을 수행할 수 있습니다. 파이프라인에서 호출됩니다.

맵 확장은 파이프라인 분기에 대한 규칙으로 사용됩니다.

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 메서드는 조건자 기반 매핑도 지원합니다.

뛰어난 유연성으로 별도의 파이프라인을 구축할 수 있는 미들웨어 포크 fashion.

Func 유형의 모든 조건자는 요청을 매핑하는 데 사용할 수 있습니다. 새로운 파이프라인 분기.

private static void HandleBranch(IApplicationBuilder app){
   app.Run(async context =>{
      await context.Response.WriteAsync("Branch used.");
   });
}
public void ConfigureMapWhen(IApplicationBuilder app){
   app.MapWhen(context => {
      return context.Request.Query.ContainsKey("branch");
   }, HandleBranch);
      app.Run(async context =>{
         await context.Response.WriteAsync("Hello from " + _environment);
   });
}
로그인 후 복사

지도는 중첩될 수도 있습니다

app.Map("/level1", level1App => {
   level1App.Map("/level2a", level2AApp => {
      // "/level1/level2a"
      //...
   });
   level1App.Map("/level2b", level2BApp => {
      // "/level1/level2b"
      //...
   });
});
로그인 후 복사

위 내용은 C# ASP.NET Core 파이프라인에 미들웨어를 추가할 때 'Map' 확장을 사용하는 방법은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿