참고 항목
이 문서의 최신 버전은 아닙니다. 현재 릴리스는 이 문서의 .NET 10 버전을 참조하세요.
WebApplication 는 특정 조건에 따라 최소 API 애플리케이션 에 다음 미들웨어를 자동으로 추가합니다.
-
UseDeveloperExceptionPage가HostingEnvironment일 때"Development"가 먼저 추가됩니다. - 사용자 코드가 아직
UseRouting를 호출하지 않은 경우 및 구성된 엔드포인트가 있는 경우(예:UseRouting),app.MapGet가 두 번째로 추가됩니다. -
UseEndpoints는 엔드포인트가 구성된 경우 미들웨어 파이프라인의 끝에 추가됩니다. -
UseAuthentication은 사용자 코드가 아직 호출UseRouting되지 않은 경우와 서비스 공급자에서 검색할 수 있는 경우UseAuthentication즉시IAuthenticationSchemeProvider추가됩니다.IAuthenticationSchemeProvider은AddAuthentication를 사용할 때 기본적으로 추가되고IServiceProviderIsService를 사용하여 서비스가 검색됩니다. -
UseAuthorization는 사용자 코드가 아직 호출UseAuthorization되지 않았고 서비스 공급자에서 검색할 수 있는 경우IAuthorizationHandlerProvider다음에 추가됩니다.IAuthorizationHandlerProvider은AddAuthorization를 사용할 때 기본적으로 추가되고IServiceProviderIsService를 사용하여 서비스가 검색됩니다. - 사용자 구성 미들웨어 및 엔드포인트는
UseRouting및UseEndpoints사이에 추가됩니다.
다음 코드는 앱에 추가되는 자동 미들웨어가 생성하는 것입니다.
if (isDevelopment)
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
if (isAuthenticationConfigured)
{
app.UseAuthentication();
}
if (isAuthorizationConfigured)
{
app.UseAuthorization();
}
// user middleware/endpoints
app.CustomMiddleware(...);
app.MapGet("/", () => "hello world");
// end user middleware/endpoints
app.UseEndpoints(e => {});
경우에 따라 앱에 대한 기본 미들웨어 구성이 올바르지 않으며 수정이 필요합니다. 예를 들어, UseCors은 UseAuthentication 및 UseAuthorization 전에 호출되어야 합니다. 앱은 호출 UseAuthentication 해야 하며 UseAuthorization 호출되는 경우 UseCors :
app.UseCors();
app.UseAuthentication();
app.UseAuthorization();
경로 일치가 발생하기 전에 미들웨어를 실행해야 하는 경우, UseRouting를 호출해야 하며 UseRouting에 대한 호출 전에 미들웨어를 배치해야 합니다.
UseEndpoints 는 앞에서 설명한 대로 자동으로 추가되므로 이 경우에는 필요하지 않습니다.
app.Use((context, next) =>
{
return next(context);
});
app.UseRouting();
// other middleware and endpoints
터미널 미들웨어를 추가하는 경우:
- 미들웨어는
UseEndpoints다음에 추가해야 합니다. - 터미널 미들웨어를 올바른 위치에 배치할 수 있도록 앱은
UseRouting및UseEndpoints를 호출해야 합니다.
app.UseRouting();
app.MapGet("/", () => "hello world");
app.UseEndpoints(e => {});
app.Run(context =>
{
context.Response.StatusCode = 404;
return Task.CompletedTask;
});
터미널 미들웨어는 요청을 처리하는 엔드포인트가 없는 경우 실행되는 미들웨어입니다.
WebApplication 는 특정 조건에 따라 최소 API 애플리케이션 에 다음 미들웨어를 자동으로 추가합니다.
-
UseDeveloperExceptionPage가HostingEnvironment일 때"Development"가 먼저 추가됩니다. - 사용자 코드가 아직
UseRouting를 호출하지 않은 경우 및 구성된 엔드포인트가 있는 경우(예:UseRouting),app.MapGet가 두 번째로 추가됩니다. -
UseEndpoints는 엔드포인트가 구성된 경우 미들웨어 파이프라인의 끝에 추가됩니다. -
UseAuthentication은 사용자 코드가 아직 호출UseRouting되지 않은 경우와 서비스 공급자에서 검색할 수 있는 경우UseAuthentication즉시IAuthenticationSchemeProvider추가됩니다.IAuthenticationSchemeProvider은AddAuthentication를 사용할 때 기본적으로 추가되고IServiceProviderIsService를 사용하여 서비스가 검색됩니다. -
UseAuthorization는 사용자 코드가 아직 호출UseAuthorization되지 않았고 서비스 공급자에서 검색할 수 있는 경우IAuthorizationHandlerProvider다음에 추가됩니다.IAuthorizationHandlerProvider은AddAuthorization를 사용할 때 기본적으로 추가되고IServiceProviderIsService를 사용하여 서비스가 검색됩니다. - 사용자 구성 미들웨어 및 엔드포인트는
UseRouting및UseEndpoints사이에 추가됩니다.
다음 코드는 앱에 추가되는 자동 미들웨어가 생성하는 것입니다.
if (isDevelopment)
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
if (isAuthenticationConfigured)
{
app.UseAuthentication();
}
if (isAuthorizationConfigured)
{
app.UseAuthorization();
}
// user middleware/endpoints
app.CustomMiddleware(...);
app.MapGet("/", () => "hello world");
// end user middleware/endpoints
app.UseEndpoints(e => {});
경우에 따라 앱에 대한 기본 미들웨어 구성이 올바르지 않으며 수정이 필요합니다. 예를 들어, UseCors은 UseAuthentication 및 UseAuthorization 전에 호출되어야 합니다. 앱은 호출 UseAuthentication 해야 하며 UseAuthorization 호출되는 경우 UseCors :
app.UseCors();
app.UseAuthentication();
app.UseAuthorization();
경로 일치가 발생하기 전에 미들웨어를 실행해야 하는 경우, UseRouting를 호출해야 하며 UseRouting에 대한 호출 전에 미들웨어를 배치해야 합니다.
UseEndpoints 는 앞에서 설명한 대로 자동으로 추가되므로 이 경우에는 필요하지 않습니다.
app.Use((context, next) =>
{
return next(context);
});
app.UseRouting();
// other middleware and endpoints
터미널 미들웨어를 추가하는 경우:
- 미들웨어는
UseEndpoints다음에 추가해야 합니다. - 터미널 미들웨어를 올바른 위치에 배치할 수 있도록 앱은
UseRouting및UseEndpoints를 호출해야 합니다.
app.UseRouting();
app.MapGet("/", () => "hello world");
app.UseEndpoints(e => {});
app.Run(context =>
{
context.Response.StatusCode = 404;
return Task.CompletedTask;
});
터미널 미들웨어는 요청을 처리하는 엔드포인트가 없는 경우 실행되는 미들웨어입니다.
최소 API의 위조 방지 미들웨어에 대한 자세한 내용은 ASP.NET Core에서 XSRF/CSRF(교차 사이트 요청 위조) 공격 방지를 참조 하세요.
미들웨어에 대한 자세한 내용은 ASP.NET Core 미들웨어 및 애플리케이션에 추가할 수 있는 기본 제공 미들웨어 목록을 참조하세요.
최소 API에 대한 자세한 내용은 API 개요를 참조하세요.
ASP.NET Core