asp.net core

    [ASP.NET Core] Shopping mall project 시작하기

    [ASP.NET Core] Shopping mall project 시작하기

    기본적인 ASP.NET Core Project를 시작하면 대부분 필요한 기본적인 모든 설정이 포함된 형태의 Project가 생성됩니다. 다만 그렇게 하면 모르고 지나칠 수 있는 부분이 있기에 Computer 부품 판매를 위한 Mall을 만든다는 가정하에 가능한 한 아주 작은 형태의 Project를 먼저 생성하고 하나씩 살을 붙이는 방법으로 진행하면서 ASP.NET Core의 전체적인 구조를 파악해 보고자 합니다. 1. Project 생성 먼저 아래 명령을 통해 ASP.NET Core Web Project를 생성합니다. dotnet new globaljson --sdk-version 6.0.400 --output MyWebApp/MyWebApp dotnet new web --output MyWebApp/M..

    [ASP.NET Core] 초간단 Application 만들어 보기

    [ASP.NET Core] 초간단 Application 만들어 보기

    이전 글에서 ASP.NET Core를 통해 Application을 개발하기 위한 준비를 마쳤으므로 간단한 데이터 입력 응용프로그램을 생성해 보고자 합니다. 다소 빠르게 진행하는 대신 일부 설명이 생략될 수 있지만 추후에 모두 상세하게 다시 다룰 것입니다. 1. 식당 예약 프로그램 손님이 인터넷을 통해 언제, 몇 명의 인원이 방문할지를 결정할 수 있는 식당 예약 프로그램을 간단히 만들어볼 것입니다. 2. 프로젝트 생성 (1) 프로젝트 준비 ASP.NET Core MVC 템플릿을 통해 'RestaurantReservation'이라는 새로운 프로젝트를 생성합니다. 프로젝트가 생성되고 나면 필수적인 부분에만 집중하기 위해 HomeController.cs의 내용을 아래와 같이 간략하게 수정합니다. using Mi..

    [ASP.NET Core] 시작하기

    [ASP.NET Core] 시작하기

    1. 개발 도구 선택 마이크로소프트는 Visual Studio Code와 Visual Studio(2019, 2022등)등의 개발도구를 제공하고 있습니다. Visual Studio는 .NET Application을 개발하기 위한 전통적인 개발환경으로서 개발에 필요한 많은 기능을 제공합니다. 하지만 그만큼 시스템의 많은 자원을 요구하며 필요한 자원만큼 다소 느린 동작을 보일 수 있기 때문에 Console App과 같은 아주 간단한 App을 개발하는 데는 적합하지 않을 수 있습니다. Visual Studio Code는 Visual Studio에 대한 개발도구의 대안이 될 수 있습니다. Visual Studio에 들어간 여러가지 부가적인 기능이 포함되어 있지는 않지만 Visual Studio보다는 훨씬 가볍고..

    [ASP.NET Core] ASP.NET Core 개요

    [ASP.NET Core] ASP.NET Core 개요

    ASP.NET Core는 마이크로소프트의 웹 개발 플랫폼입니다. 본래 ASP.NET은 2002년에 등장하였는데 현재의 ASP.NET Core로 완성되기 위해 수많은 재개발 과정을 거쳐오게 되었고 현재의 ASP.NET Core는 HTTP 요청을 처리하기 위한 플랫폼과 애플리케이션을 생성하기 위한 일련의 주된 프레임워크, 몇몇 기능 지원을 제공하기 위한 부수적인 유틸리티 프레임워크로 구성하게 되었습니다. 마이크로소프트가 만들어낸 .NET이름과 ASP.NET Core사이에는 특별한 연관성이 있는데 몇 년 전 마이크로소프트의 ASP.NET 담당 부서는 자체적인 .NET 플랫폼 버전을 만들어 다른 .NET보다 더 자주 ASP.NET이 업데이트될 수 있게 하였습니다. 이렇게 크로스-플렛폼 개발이 가능한 ASP.NE..

    [ASP.NET Core] HttpContext.User

    Controller 라면 User 키워드를 통해서 현재 로그인한 사용자의 정보를 가져올 수 있습니다. 예를 들어 아이디를 검색하려면 다음과 같이 할 수 있습니다. string user = User?.Claims.Where(a => a.Type == ClaimTypes.NameIdentifier)?.FirstOrDefault()?.Value ?? string.Empty; Controller가 아닌 Controller에서 참조하는 외부클래스에서 User개체에 직접 접근해야 한다면 HttpContext를 통해야 합니다. 이를 위해 Program.cs에서 아래와 같이 AddHttpContextAccessor 서비스를 등록하고 builder.Services.AddHttpContextAccessor(); build..

    [ASP.NET Core] Razor Page로 웹프로젝트 만들기

    [ASP.NET Core] Razor Page로 웹프로젝트 만들기

    이번 포스팅에서는 ASP.NET Core의 Razor Page를 사용해 간단한 웹서비스를 구현해 보고자 합니다. 1. HTTP 클라이언트(User-Agent)가 서버와의 통신에서 HTTP를 사용한다는 것은 특정 주소에 대한 HTTP요청을 만들어 서버에 요청하게 되고 서버는 이 요청에 따라 해당 응답을 생성해 클라이언트로 반환하는 구조로 통신함을 의미합니다. 예를 들어 사용자가 웹 브라우저에서 http://cliel.com/ 주소를 입력하면 해당 요청을 서버에 전송하게 되고 서버는 해당 주소에 지정된 서버의 Resource를 반환함으로서 사용자의 웹브라우저에서 반환된 Resource를 표시하게 됩니다. 2. URL 우리가 인터넷 주소라고 칭하는 URL은 세부적으로 다음과 같이 구성되어 있습니다. Schem..

    [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..