asp.net core
[ASP.NET Core] Shopping mall project - 관리자기능
이전에 만든 project에서는 사용자가 제품을 선택하고 해당 제품을 장바구니에 담은 뒤 자신의 정보를 입력하여 주문을 완료하는 것까지의 기능을 구현했습니다. 그러나 지속적인 shopping mall의 관리를 위해서는 사용자로부터의 주문과 제품을 관리할 수 있는 관리자의 기능도 필요할 것입니다. 관리자의 기능은 Blazor를 사용해 구현할 것입니다. Blazor는 Client-Side인 Javascript Code를 ASP.NET Core에 의해 실행되는 Server-Side Code와 결합하고 persistent HTTP 연결에 의하여 연결됩니다. 참고로 해당 글에서는 Server에서 Code를 실행하는 Blazor Server를 사용할 것입니다. 또 다른 것으로 Blazor WebAssembly가 있..
[ASP.NET Core] Shopping mall project - 주문완료하기
아래 글에서는 [.NET/ASP.NET Core] - [ASP.NET Core] Shopping mall project - Category탐색과 장바구니 구현 [ASP.NET Core] Shopping mall project - Category탐색과 장바구니 구현 1. Category 탐색 기능 이전 예제 Project의 제품 표시에는 단순히 제품만 나열할 뿐이지만 제품의 category별로 해당 제품을 살펴볼 수 있도록 하면 사용자에게 좀 더 편리함을 제공해 줄 수 있을 것입 lab.cliel.com 간단히 Cart기능을 구현해 보았는데 계속 이어서 고객이 주문을 완료하기 위한 처리를 추가해 보고자 합니다. 1. Service를 통한 Cart Model의 보완 이전 글에서 Cart Model을 만들어 ..
[ASP.NET Core] Shopping mall project - Category탐색과 장바구니 구현
1. Category 탐색 기능 이전 예제 Project의 제품 표시에는 단순히 제품만 나열할 뿐이지만 제품의 category별로 해당 제품을 살펴볼 수 있도록 하면 사용자에게 좀 더 편리함을 제공해 줄 수 있을 것입니다. (1) Product List filtering 이를 구현하기 위해 Models->ViewModels folder에서 ProductsListViewModel.cs를 수정하여 아래와 같이 현재 선택된 CurrentCategory속성을 추가합니다. public class ProductsListViewModel { public IEnumerable Products { get; set; } = Enumerable.Empty(); public PageInfo PageInfo { get; set..
[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을 개발하기 위한 준비를 마쳤으므로 간단한 데이터 입력 응용프로그램을 생성해 보고자 합니다. 다소 빠르게 진행하는 대신 일부 설명이 생략될 수 있지만 추후에 모두 상세하게 다시 다룰 것입니다. 1. 식당 예약 프로그램 손님이 인터넷을 통해 언제, 몇 명의 인원이 방문할지를 결정할 수 있는 식당 예약 프로그램을 간단히 만들어볼 것입니다. 2. 프로젝트 생성 (1) 프로젝트 준비 ASP.NET Core MVC 템플릿을 통해 'RestaurantReservation'이라는 새로운 프로젝트를 생성합니다. 프로젝트가 생성되고 나면 필수적인 부분에만 집중하기 위해 HomeController.cs의 내용을 아래와 같이 간략하게 수정합니다. using Mi..
[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은 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..