asp.net core

    [ASP.NET Core] Session

    1. Service 설정 Startup.cs의 ConfigureServices() method에서 Session을 사용하기 위한 Service를 추가합니다. services.AddDistributedMemoryCache(); services.AddSession(option => { option.Cookie.Name = "mySession"; option.IdleTimeout = TimeSpan.MaxValue; //기본값 20분 }); AddDistributedMemoryCache() method는 Server의 Cache memory를 사용하도록 하기 위한 것으로 Session을 저장하기 위함이며 AddSession()은 Session자체의 설정으로 Cookie.Name으로 Session의 이름을, I..

    [ASP.NET Core] Logging

    [ASP.NET Core] Logging

    1. NuGet Package 설치 NuGet에서 etEscapades.Extensions.Logging.RollingFile package를 project에 설치합니다. 2. Log File 설정 Program.cs를 다음과 같이 수정해 ConfigureLogging method를 설정합니다. Host.CreateDefaultBuilder(args) .ConfigureLogging((hostingContext) => hostingContext.AddFile(options => { options.FileName = "log-"; options.LogDirectory = "Logs"; options.FileSizeLimit = null; //기본 10MB, 단위 MB options.RetainedFileC..

    [ASP.NET Core] Claim 인증과 권한

    [ASP.NET Core] Claim 인증과 권한

    Claim은 특정한 key값을 통해 사용자 인증 및 권한을 관리하며 여기에 필요한 data를 추가하여 사용할 수 있는 인증방법입니다. 1. 기본설정 Startup.cs의 ConfigureServices() method에 인증 및 권한에 관련한 service를 추가합니다. services.AddAuthentication(defaultScheme: CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(option => { option.AccessDeniedPath = "/Home/Error"; option.LoginPath = "/login"; }); services.AddAuthorization(); services.AddHttpContextAcces..

    [ASP.NET Core] 암호화 사용하기(DataProtection)

    1. Class Library형식의 Project를 생성하고 'Microsoft.AspNetCore.DataProtection' 이름의 Nuget package를 설치합니다. 2. project에 다음과 같은 class를 추가해 사용할 암호화 algorithm을 지정합니다. 예제에서는 myWebLibrary라는 이름의 project를 생성하였습니다. using Microsoft.Extensions.DependencyInjection; using System; using Microsoft.AspNetCore.DataProtection; using Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel; namespace ..

    [ASP.NET Core] SQL 사용하기

    아래 method를 사용하기 위해서는 Microsoft.EntityFrameworkCore와 Microsoft.EntityFrameworkCore.Relational package가 설치되어 있어하며 using Microsoft.EntityFrameworkCore; 으로 namespace사용을 선언합니다. 1. FromSqlRaw / FromSqlInterpolated TestContext tc = new TestContext(); tc.TblUser.FromSqlRaw($"Select seq, userID, userPW From TBL_User;").ToList(); //또는 string user = "abc"; tc.TblUser.FromSqlRaw($"Select seq, userID, userPW..

    [ASP.NET Core] Entity Framework Core (Code-First)

    [ASP.NET Core] Entity Framework Core (Code-First)

    Entity Framework Core는 응용 program과 database 간 연동을 위한 것으로, 사용하는 방식에 따라 Code-First방식과 DB-First방식 2가지가 존재합니다. Code-First방식은 C#으로 Code를 작성하고 해당 Code를 통해 DB에 Table을 생성해서 사용하는 방식이며 반대로 DB-First방식은 DB에 Table을 먼저 생성하고 생성된 Table의 사양에 맞춰 C# Code로 생성해 사용하는 방식입니다. 위 2가지 방식중에서 먼저 Code-First방식에 대해 알아보고자 합니다. Code-First방식은 C#으로 Code를 먼저 작성한다고 하였는데 [.NET/ASP.NET Core] - [ASP.NET Core] 의존성 주입(Dependency Injectio..

    [ASP.NET Core] 의존성 주입(Dependency Injection)

    [ASP.NET Core] 의존성 주입(Dependency Injection)

    흔히 '관심사의 분리'라 하는 것으로 MVC pattern의 가장 중요한 특징 중 하나에 해당합니다. program을 이루는 각 부분의 밀접도를 최소화하여 독립성을 유지하고자 하는 개념으로 new를 통해 곧바로 instance를 생성하는 것이 아니라 interface를 이용해 의존성 주입을 구현하고 이로 인해 program을 이루는 각 구성요소의 관심사를 최대한 분리하고자 하는 것이 핵심입니다. 응용 program의 상호의존성이 너무 강하면 하나의 변경사항으로 다른 쪽 수정사항을 유발하게 되고 또 그것으로 인해 생각지 못한 전혀 다른 부분에서의 수정 작업을 거쳐야 하는 등 비효휼적인 과정이 너무 많이 발생할 수 있습니다. 따라서 의존성을 줄이면 서로 간의 변경사항에 대한 영향력을 최소화할 수 있게 됩니다..

    [ASP.NET Core] ASP.NET Core API에 ReactJS 배포하기

    [ASP.NET Core] ASP.NET Core API에 ReactJS 배포하기

    1. NuGet Package에서 Microsoft.AspNetCore.SpaServices.ReactDevelopmentServer를 찾아 설치합니다. 2. Project의 Startup.cs파일에서 다음과 같은 코드를 추가하여 정적 파일 서비스를 등록하고 사용할 수 있도록 설정합니다. --ConfigureServices services.AddSpaStaticFiles(configuration => { configuration.RootPath = "ClientApp/build"; }); --Configure app.UseDefaultFiles(); app.UseStaticFiles(); app.UseSpaStaticFiles(); . . . . app.UseSpa(spa => { spa.Options...