집 >백엔드 개발 >C#.Net 튜토리얼 >C# ASP.NET Core 미들웨어는 HttpModule과 어떻게 다릅니까?
web.config 또는 global.asax를 통해 구성된 HttpModule 개발자는 실행 순서를 제어할 수 없습니다.
모듈 순서는 주로 애플리케이션 수명 주기 이벤트를 기반으로 하기 때문입니다. 요청과 응답의 실행 순서는 동일하게 유지됩니다.
HttpModules는 애플리케이션 이벤트에 특정한 코드를 첨부하는 데 도움이 됩니다. HttpModule은 System.web에 바인딩됩니다.
미들웨어는 web.config 파일(진입점)이 아닌 Startup.cs 코드에서 구성됩니다. 애플리케이션의 경우)
HttpModule과 달리 실행 대상과 실행 순서를 완전히 제어할 수 있습니다. ~처럼 추가된 순서대로 실행됩니다.
미들웨어는 요청의 역순으로 응답합니다.
미들웨어는 이러한 이벤트와 무관합니다.
미들웨어는 호스트 독립적입니다.
내장 Asp.Net 코어 미들웨어
인증 인증 지원을 제공합니다.
CORS 도메인 간 리소스 공유를 구성합니다.
Routes 요청 라우팅을 정의하고 제한합니다.
Session 사용자 세션 관리를 지원합니다.
Diagnostics 오류 페이지 및 런타임 정보에 대한 지원이 포함됩니다.
public class MyMiddleware{ private readonly RequestDelegate _next; private readonly ILogger _logger; public MyMiddleware(RequestDelegate next, ILoggerFactory logFactory){ _next = next; _logger = logFactory.CreateLogger("MyMiddleware"); } public async Task Invoke(HttpContext httpContext){ _logger.LogInformation("MyMiddleware executing.."); await _next(httpContext); // calling next middleware } }
// HTTP 요청 파이프라인에 미들웨어를 추가하기 위한 확장 방법입니다.
public static class MyMiddlewareExtensions{ public static IApplicationBuilder UseMyMiddleware(this IApplicationBuilder builder){ return builder.UseMiddleware<MyMiddleware>(); } }
//다음과 같이 확장 메서드를 사용하여 요청 파이프라인에 사용자 정의 미들웨어를 추가합니다. 아래와 같이
public void Configure(IApplicationBuilder app, IHostingEnvironment env){ app.UseMiddleware<MyMiddleware>() app.Run(async (context) =>{ await context.Response.WriteAsync("Hello World!"); }); }
위 내용은 C# ASP.NET Core 미들웨어는 HttpModule과 어떻게 다릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!