Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- ASP Core
- react typescript
- asp.net core mvc
- 리액트 타입스크립트
- javascript
- c# delegate
- asp core 권한
- asp core mvc
- Docker
- 리액트
- react ts
- docker layer
- 리액트 타입스크립트 적용하기
- 도커 컨테이너
- asp.net core
- Asp Net Core
- Git
- Docker image
- 도커 레이어
- react
- 도커
- 리덕스
- React Redux
- docker container
- C#
- redux
- vscode extension
- 도커 이미지
- 리액트 리덕스
- js
Archives
- Today
- Total
기초 메모지
ASP.Net Core - 미들웨어(Middleware) 본문
미들웨어
요청과 응답 사이 파이프라인(순차적)으로 이루어져 특정한 로직을 수행하는 클래스입니다.
그림을 참고하면 로직이 미들웨어(클래스)에서 순차적(파이프라인)으로 처리되는 것을 확인할 수 있습니다.
미들웨어는 왜 사용할까?
1. 필요한 미들웨어를 선택적으로 사용할 수 있어 애플리케이션을 경량화 할 수 있습니다.
2. 요청과 응답 사이에 개입하여 별도의 로직을 수행할 수 있습니다.
3. 요청과 응답 사이에서 발생하는 상황을 쉽게 파악할 수 있습니다.
미들웨어 실행 순서
미들웨어는 요청 시 등록된 순서의 정방향, 응답 시 등록된 순서의 역방향으로 실행됩니다.
미들웨어 사용하기
Program.cs 또는 Startup.cs에 아래와 같이 코드를 추가합니다.
var app = builder.Build();
app.Run(async (context) =>
{
await context.Response.WriteAsync("Middleware");
});
미들웨어 클래스를 생성하여 미들웨어를 사용할 수 있습니다.
public class MyCustomMiddleware
{
private readonly RequestDelegate _next;
/// <summary>
/// 미들웨어는 RequestDelegate 타입을 매개 변수로 받는 생성자가 필요합니다.
/// </summary>
/// <param name="next"></param>
public MyCustomMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task InvokeAsync(HttpContext context)
{
// Call the next delegate/middleware in the pipeline.
// 다음 미들웨어 또는 델리게이트로 처리 순서를 넘깁니다.
await _next(context);
}
}
/// <summary>
/// 미들웨어(Middleware) 호출 클래스에서 사용할 수 있도록 합니다.
/// </summary>
public static class MyCustomMiddlewareExtensions
{
/// <summary>
/// IApplicationBuilder로 미들웨어(Middleware) 호출 클래스에 노출시킵니다.
/// </summary>
/// <param name="builder"></param>
/// <returns>사용할 미들웨어</returns>
public static IApplicationBuilder UseMyCustomMiddleware(
this IApplicationBuilder builder)
{
return builder.UseMiddleware<MyCustomMiddleware>();
}
}
Program.cs 또는 Startup.cs에 아래와 같이 코드를 추가합니다.
var app = builder.Build();
app.MyCustomMiddleware();
반응형
'Frameworks, Platforms > ASP.Net Core' 카테고리의 다른 글
ASP.Net Core - 엔티티 프레임워크(EntityFramework) (0) | 2022.09.30 |
---|---|
ASP.Net Core - 종속성 주입(DI : Dependency Injection) (0) | 2022.09.19 |
ASP.Net Core - 기본 페이지 및 뷰 설정(Default Page Setting) (0) | 2022.07.07 |
ASP.Net Core - 배포(Deploy) (0) | 2022.04.25 |
ASP.Net Core - 게시(Publish) (0) | 2022.04.21 |
Comments