.NET

    ASP.NET Core - 3. 의존성 주입(Dependency Injection)

    ASP.NET Core - 3. 의존성 주입(Dependency Injection)

    Service는 Middleware와 Endpoint사이에 공유되는 객체라고 할 수 있습니다. Service가 제공할 수 있는 기능에는 제한이 없지만 일반적인 경우 대부분 Application의 여러 부분에 걸쳐 필요한 작업(Logging이나 Database 접근과 같은)에 사용됩니다. ASP.NET Core 의존성 주입기능은 Service를 생성하고 사용하는 데 사용됩니다. 이제 ASP.NET Core platform에서 의존성 주입이 어떻게 지원되는지를 알아보고 의존성 주입을 사용함으로써 어떠한 문제를 해결할 수 있는지를 천천히 확인해 보도록 하겠습니다. 1. Project 만들기 예제로 사용하게될 Project는 [.NET/ASP.NET] - ASP.NET Core - 2. 라우팅(Routing) ..

    ASP.NET Core - 2. 라우팅(Routing)

    ASP.NET Core - 2. 라우팅(Routing)

    URL routing의 기본적인 기능은 요청 URL에 따라 그에 맞는 처리를 실행하여 응답을 생성하는 것입니다. 이제 예제를 통해 Routing에 관한 전반적인 내용을 살펴보도록 하겠습니다. 1. 시작하기 예제는 2022.09.16 - [.NET/ASP.NET] - ASP.NET Core - 1. 요청 파이프라인(Request Pipeline)과 Service, Middleware component등 ASP.NET Core Platform에 관한 전반적인 이해 ASP.NET Core - 1. 요청 파이프라인(Request Pipeline)과 Service, Middleware component등 ASP.NET Core Platform에 관한 ASP.NET Core는 MVC나 Blazor와 같은 기능을 통..

    ASP.NET Core - 1. 요청 파이프라인(Request Pipeline)과 Service, Middleware component등 ASP.NET Core Platform에 관한 전반적인 이해

    ASP.NET Core - 1. 요청 파이프라인(Request Pipeline)과 Service, Middleware component등 ASP.NET Core Platform에 관한 전반적인 이해

    ASP.NET Core는 MVC나 Blazor와 같은 기능을 통해 Web Application을 개발하기 위한 Platform입니다. 이번에는 ASP.NET Core에 관한 특징 및 구조 그리고 HTTP 요청을 처리하는 요청 Pipeline에 대해 알아보고 customize 할 수 있는 방법에 대해서도 살펴볼 것입니다. 1. 시작전 준비사항 우선 아래 명령을 통해 최소한의 ASP.NET Core Project를 생성하도록 합니다. 예제에서 Project는 MyWebApp으로 지정하였습니다. dotnet new globaljson --sdk-version 6.0.400 --output MyWebApp dotnet new web --no-https --output MyWebApp --framework net..

    [ASP.NET Core] Shopping mall project - 보안과 배포

    [ASP.NET Core] Shopping mall project - 보안과 배포

    ASP.NET Core는 ASP.NET Core platform과 각각의 개별 Application에 정교하게 통한된 Identity system을 통해서 인증과 권한 부여에 관한 기능을 제공하고 있습니다. 이러한 인증 기능을 통해 Admin이라는 관리 사용자에 대한 보안설정을 project에 적용함으로써 인증된 관리 사용자 만이 관리자 기능으로 접근할 수 있도록 처리할 것입니다. 물론 ASP.NET Core Identity는 그것 자체로 사용자에 대한 다양한 인증 및 권한에 대한 기능을 제공하고 있는데 이에 대한 추가적인 내용은 추후에도 알아볼 것입니다. 1. Identity Database 생성 ASP.NET Identity system은 유연한 구성 및 확장이 가능하며 사용자 data가 저장되는 방..

    [ASP.NET Core] Shopping mall project - 관리자기능

    [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 - 주문완료하기

    [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탐색과 장바구니 구현

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