본문 바로가기
728x90
반응형

ASP.NET Core47

ASP.NET Core API] Audit Trail(API 로그) 참조 : How to Implement Audit Trail in ASP.NET Core Web API - Code Maze (code-maze.com) ASP.NET Core에서 audit trail을 구현하는 방법을 살펴보자. Audit Trail이란? audit trail은 application에서 사용자의 동작에 의해 발생하는 모든 activities의 기록을 말한다. 누가 접속을 했는지 무엇을 변경했는지 등을 파악할때 사용한다. audit trail은 일반적으로 아래 정보를 포함한다. 수정한 사람 수정일자와 시간 수정 타입 수정된 데이터 audit trail 정보를 database, files, 저장서비스 등등에 저장할 수 있다. 가장 흔한 방법은 application database에 저장하는.. 2023. 11. 1.
ASP.NET Core] Cookie Authentication을 이용한 로그인 1. AddAuthentication Cookie Authentication을 사용하기 위해서 아래와 같이 서비스에 등록한다. var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddControllersWithViews(); builder.Services.AddDbContext(option => option.UseSqlServer( builder.Configuration.GetConnectionString("DefaultConnection") )); builder.Services.AddAuthentication(CookieAuthenticationDefaults.Authent.. 2023. 5. 17.
ASP.NET Core] HTTP error status code 404 처리 endpoint가 없는 /files 경로를 호출한 경우 404 error status code를 처리할 수 있는 방법을 살펴보자. 1. UseStatusCodePages var app = builder.Build(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Home/Error"); } app.UseStatusCodePages(); 엔드포인트를 찾을 수 없다는 브라우저 종속 오류 메시지가 반환된다. 2.UseStatusCodePages(response content type, text를 지정하는 방법) using static System.Net.Mime.Me.. 2023. 5. 12.
ASP.NET Core] Asynchronous Generic Repository synchronous repository를 asnychronous repository로 변경해보자. 기존 IRepositoryBase, Repository 소스는 다음과 같다. using System.Linq.Expressions; namespace TEST.Data { public interface IRepoBase { IQueryable FindAll(); IQueryable FindByCondition(Expression expression); T GetById(int id); void Create(T entity); void Update(T entity); void Delete(T entity); } } using Microsoft.EntityFrameworkCore; using System.Li.. 2023. 4. 26.
ASP.NET Core] Asynchronous Programming - Async, Await 출처 : https://code-maze.com/asynchronous-programming-with-async-and-await-in-asp-net-core/ Asynchronous Programming과 장점 비동기 프로그래밍을 사용하면, 병목현상을 피하고, 앱의 반응성을 개선할 수 있다. thread pool의 고갈이나 앱 blocking 없이 시스템 흐름을 실행할 수 있수 있도록 하는 프로그래밍 기술이다. async, await keywords를 사용하므로 앱의 실행속도를 향상시킬 수 있다는 잘못된 개념이 있다. database로부터 데이터를 가져오는데 3초가 걸린는 synchronous code가 있다면, asynchronous code에서 그 시간이 빨라지지는 않는다. 하지만, 얼마나 많은 동.. 2023. 4. 26.
ASP.NET Core Razor Pages] 2. Page Models, Routing, Filters 출처 : ASP.NET Core - Simpler ASP.NET MVC Apps with Razor Pages | Microsoft Learn A Sample Project 여러 종류의 entities를 관리하고 조회하는 sample 앱을 만들어보자. 전형적인 MVC 구조적 접근을 사용한다면, 다른 종류의 folder와 각각 controllers, views, viewmodels 등이 필요할 것이다. Razor Pages를 사용하면, URL 구조와 매핑되는 폴더 hierarchy만 만들면 된다. 이 경우에, 앱은 Pages 폴더 하위에 각 entities를 위한 subfolder를 갖는다. 폴더 구조는 매우 단순하다. homepage(Index.cshtml)와 Pages folder의 root에서 몇가지.. 2023. 2. 27.
728x90
반응형