ASPNET/ASPNET 7(18)
-
gRPC HealthCheck
gRPC 상태를 검사하기 위한 방법이 있다. gRPC 상태 검사 프로토콜이 있고 이것은 server 앱의 상태를 보고하기 위한 표준이다. Grpc.AspNetCore.HealthChecks 패키지에서 gRPC 상태 검사를 기본적으로 지원한다. .NET 상태 검사의 결과는 호출자에게 보고한다. gRPC 상태 검사 설정 Grpc.AspNetCore.HealthChecks 패키지 참조를 추가. gRPC 상태 검사 서비스를 등록 AddGrpcHealthChecks - 상태 검사를 사용하는 서비스를 등록 MapGrpcHealthChecksService - 상태 검사 서비스 엔드포인트를 추가 IHealthCheck를 구현하거나 AddCheck 메서드를 사용하여 상태 검사를 추가 gRPC service 프로젝트를 만..
2022.12.15 -
ASPNET 7 - Endpoint Filter
최소 API 필터를 통해 개발자는 다음을 지원하는 비즈니스 논리를 구현할 수 있다. 엔드포인트 처리기 전후에 코드 실행 엔드포인트 처리기 호출 중에 제공된 매개 변수 검사 및 수정 엔드포인트 처리기의 응답 동작 가로채기 필터는 다음 시나리오에서 유용할 수 있다. 엔드포인트로 전송되는 요청 매개 변수 및 본문의 유효성 검사 요청 및 응답에 대한 정보 로깅 요청이 지원되는 API 버전을 대상으로 하는지 확인 다음과 같은 형태로 Filter 를 지정할 수 있다. var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); string ColorName(string color) => $"Color specified: {color}!";..
2022.12.12 -
ASPNET 7 - Authentication
6.0 버전에도 있었던 인증 관련 기능 이지만 aspnet core 7 부터는 조금더 간소화 되었다. 이전 버전 같은 경우는 다음과 같은 내용들이 있었다. builder.Services.AddAuthentication(x => { x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }).AddJwtBearer(x => { x.SaveToken = true; x.TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = ..
2022.12.08 -
ASPNET 7 - Route Group and Swagger
MapGroup 를 통해 엔드포인트 그룹을 구성하는 데 도움이 된다. 반복 코드를 줄이고 특정 Method 들을 단일 호출 하는데 사용가능 하다. 아래와 같이 사용한다. var route = app.MapGroup("/route") 이 의미는 route 라는 MapGroup 을 만들고 경로는 "/route" 라는 의미 이다. 여기에 다음과 같은 코드를 추가해 보자 route.MapGet("/", () => { return $"Hello!! {DateTime.Now.Ticks}"; }); 이 코드는 /route 에 http get method 가 호출 되면 실행된다. 아래 코드도 추가해 보자 route.MapGet("/user", (string name) => { return $"Hello!! {name}..
2022.12.05 -
ASPNET 7 - Rate Limit
Microsoft.AspNetCore.RateLimiting 미들웨어는 속도 제한 미들웨어를 제공한다. 앱은 속도 제한 정책을 구성한 다음, 정책을 엔드포인트에 연결한다. 속도 제한 알고리즘 Fixed window Sliding window Token bucket Concurrency 위와 같은 4가지 종류의 알고리즘이 있다. 사용하기 위에서는 아래와 같은 코드를 Program.cs 에 추가해야 한다. builder.Services.AddRateLimiter(options => { // 각 알고리즘별 code } ... app.UseRateLimiter(); 기본적인 코드는 아래와 같다. Program.cs Global Fixed window Rate Limit ... builder.Services.Ad..
2022.12.01 -
ASPNET 7 - Output Cache
output caching 은 어떠한 입력에 대해 output 되는 값을 caching 해 놓고 특정 시간동안 caching 값을 사용하도록 하는 것이다. ASPNET core web api 프로젝트를 만들고 다음 코드를 추가하자 Program.cs ... builder.Services.AddOutputCache(); ... app.UseOutputCache(); ... Controller 를 사용하게 project 를 만들었을 경우 처음 생성 했을때 있는 weatherforecast 관련 코드들을 전부 삭제 하자 CacheController.cs 를 추가하자. 그리고 다음과 같이 코드를 수정하자. using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore...
2022.11.28