.NET/ASP.NET

    [ASP.NET Core] - 1. 개요 (2nd)

    [ASP.NET Core] - 1. 개요 (2nd)

    ASP.NET Core는 Microsoft의 Web개발 platform이며 2002년에 처음 소개된 이후 몇 번의 대규모 개선을 거쳐 현재의 ASP.NET Core 7이 되었습니다. ASP.NET Core는 HTTP 요청을 처리하는 platform과 application을 생성을 위한 몇가지 framework, 그리고 기능을 제공하기 위한 부수적인 utility framework로 구성되어 있습니다. 다음 이미지에서는 그 구조를 잘 나타내고 있습니다. .NET Framework, .NET Core 그리고 .NET 본래 Windows전용 개발 platform으로 1.0부터 .NET Framework로 시작해 cross-platform으로 .NET Core가 개발되기 시작하였으며 .NET Core 3부터 공..

    NET::ERR_CERT_INVALID 문제

    NET::ERR_CERT_INVALID 문제

    Visual Studio로 ASP.NET Core project를 생성한 뒤 project debugging을 실행하면 인증서 관련 오류를 표시할때가 있습니다. NET::ERR_CERT_INVALID 이런 경우는 아래 절차를 따라줍니다. 1. 우선 현재 열려있는 모든 브라우저를 닫아줍니다. Visual Studio도 열러있다면 닫아주세요. (매우중요) 2. Windows + R 키를 눌러 certmgr.msc를 입력합니다. 3. 해당 화면에서 아래 2군데에 localhost 인증서를 삭제합니다. 4. Windows terminal을 열어 아래 명령을 순서대로 실행합니다. dotnet dev-certs https --clean dotnet dev-certs https --trust 5. 정상적으로 실행되는..

    ASP.NET Core - 21. ASP.NET Core Identity 사용

    ASP.NET Core - 21. ASP.NET Core Identity 사용

    이번에는 이전에 구축해 둔 ASP.NET Core Identity를 사용자 인증과 application기능으로 접근하기 위한 권한에 어떻게 적용할 수 있는지를 알아볼 것입니다. 따라서 identity를 구축하기 위해 사용자에게 필요한 기능을 생성하고, endpoint로의 접근을 제어하고 Blazor가 제공하는 보안기능을 직접 구현해 볼 것입니다. 또한 web service에서 client를 인증하기 위해 가장 보편적으로 사용되는 방식이 2가지가 있는데 이에 대해서도 같이 확인해 볼 것입니다. 1. Project 준비하기 예제를 위한 project는 이전의 project를 그대로 사용할 것입니다. 다만 PowserShell을 열고 csproj file이 있는 project folder로이동한 뒤 아래 명령..

    ASP.NET Core - 20. ASP.NET Core Identity

    ASP.NET Core - 20. ASP.NET Core Identity

    ASP.NET Core Identity는 ASP.NET Core application에서 사용자를 관리하기 위한 API이며 인증과 권한을 요청 pipeline으로 통합할 수 있도록 지원합니다. 또한 application에서 필요한 인증과 권한기능을 생성하는 도구이기도 한데 two-factor authentication, federation, single sign-on, account self-service와 같은 기능의 통합을 위한 것과 대규모 조직환경 또는 cloud hosting 사용자 관리를 사용할 경우에 유용한 많은 option들을 제공하고 있습니다. ASP.NET Core Identity는 자체 framework로 발전하였고 이것에 대한 전체를 다루기에는 상당히 방대한 양이 검토되어야 하므로 E..

    ASP.NET Core - [Blazor] 6. DataBlazor Web Assembly

    ASP.NET Core - [Blazor] 6. DataBlazor Web Assembly

    WebAssembly용으로 작성된 Blazor의 구현체를 Blazor WebAssembly라고 하는데 WebAssembly는 browser의 내부에서 동작하는 virtual machine이며 고수준 언어는 native성능과 근접하게 실행될 수 있는 저수준 언저 중립 assembler로 compile됩니다. WebAssembly는 또한 JavaScript application에서 가능한 API들의 접근을 제공하며 이것으로 WebAssembly application이 domain개체 model에 접근할 수 있고 단계적 style sheet를 사용하며 비동기 HTTP요청을 시작할 수 있음을 의미합니다. Blazor WebAssembly라는 이름에서 알 수 있듯이 이 것은 WebAssembly virtual m..

    ASP.NET Core - [Blazor] 5. Blazor Form과 Data

    ASP.NET Core - [Blazor] 5. Blazor Form과 Data

    이번 글에서는 Blazor가 Data validation을 포함하여 HTML form을 처리하기 위해 제공하는 몇 가지 기능에 대해 알아볼 것입니다. Blazor가 제공하는 내장 component에 대한 것들과 함께 이들을 실제 어떤 방식으로 사용할 수 있는지와 Blazor model이 Entity Framework Core를 통해 어떤 형태로 예상하지 못한 결과를 유발하고 또 이러한 issue를 어떻게 해결할 수 있는지 등을 포함할 것입니다. 마지막으로 CRUD(Create, Reading, Updating, Deleting)가 가능한 간단한 form application을 만들어 보고 사용자의 경험을 향상하기 위해 어떻게 Blazor form 기능을 확장할 수 있는지도 알아보겠습니다. 1. Proje..

    ASP.NET Core - [Blazor] 3. Blazor Server 2

    ASP.NET Core - [Blazor] 3. Blazor Server 2

    계속해서 이전 글에 이어 Razor Component를 결합하여 사용하는 방식에 중점을 두고 Blazor Server의 나머지 부분에 관해 살펴보고자 합니다. 1. Project 준비하기 예제 project는 이전글에서 사용한 project를 그대로 사용할 것이며 여기에서 더 필요한 변경사항은 없습니다. project를 실행하고 /controllers와 /pages/blazor URL을 순서대로 요청하여 다음과 같은 응답이 생성되는지 확인합니다. 2. Component 결합 Blazor component는 다소 복잡한 기능이 구현되는 경우 서로 결합될 수도 있는데 이런 상황에서 여러 component를 어떻게 결합하고 서로 연결시킬 수 있는지를 알아둘 필요가 있습니다. 우선 Blazor folder에 S..

    ASP.NET Core - [Blazor] 4. 고급 Blazor 기능

    ASP.NET Core - [Blazor] 4. 고급 Blazor 기능

    Blazor는 URL routing을 지원함으로써 여러 component가 단일 요청에서 표시될 수 있습니다. 이번 글에서는 이와 관련된 내용을 다룰 것이며 routing system을 어떻게 설정할지, route를 어떻게 정의할지 그리고 layout에서 공용 content를 어떻게 생성할 수 있는지에 대한 것들도 함께 알아볼 것입니다. 또한 Blazor 환경에 component가 능동적으로 참여할 수 있는 component 생명주기에 관해서도 다루어 볼 텐데 이것은 URL routing기능을 사용하기 시작할 때 특히 중요한 부분입니다. 마지막으로 이전글에서 설명한 부모-자식(상위-하위) 간 관계의 외부에서 component가 상호작용할 수 있는 다양한 방법에 관해서도 같이 살펴보고자 합니다. 1. Pr..