.NET/ASP.NET

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

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

    Blazor는 web application에 client-side 상호작용을 추가하는 것으로 이번 글에서는 Blazor의 2가지 종류 중 Blazor Server에 관해 알아보고자 합니다. 대체로 Blazor server의 작동방식과 예상가능한 문제에 대해 어떻게 대처할 수 있을지에 대한 전반적인 내용을 확인할 것이며 ASP.NET Core application에서 Blzor Server를 사용하기 위한 구성방법과 Blazor Server Project를 위한 부품의 역할을 하는 것으로 Razor component사용 시 가능한 기본적인 기능에 대해서도 살펴보고자 합니다. 1. Project 준비 필요한 Project는 이미 아래 글에서 만들어 보았으며 여기에서 더 바뀌는 것은 없습니다. [.NET/AS..

    ASP.NET Core - [Blazor] 1. 예제 project 만들기

    ASP.NET Core - [Blazor] 1. 예제 project 만들기

    1. Project 생성 Visual Studio를 실행하고 ASP.NET Core Empty Project유형의 Project를 새로 생성합니다. 2. Data 생성 MSSQL Server에 접속해 BlazorTDB라는 이름의 새로운 database를 생성하고 다음과 같이 3개의 Table을 만든 뒤 필요한 Data를 추가해 줍니다. MSSQL Server의 설치 및 설정은 아래 글을 참고하시면 됩니다. [Server/SQL Server] - [MSSQL] MS SQL Server 다운로드 및 설치/설정 [MSSQL] MS SQL Server 다운로드및 설치/설정 해당 포스팅에서 설명하는 MS SQL Server는 2019 Developer Edtion입니다. 인터넷에서 아래 주소로 이동합니다. SQL..

    ASP.NET Core - 19. 필터(Filter)

    ASP.NET Core - 19. 필터(Filter)

    Filter는 요청처리되는 절차 안으로 추가적인 logic을 주입하는 것입니다. Filter는 action 또는 page handler method가 될 수 있는 단일 endpoint에 적용되는 middleware 같은 것으로 일련의 요청을 관리하기 위한 유용한 방법을 제공합니다. 이번 글에서는 filter가 작동하는 방식과 ASP.NET Core에서 지원하는 filter유형을 알아보고 사용자정의 filter도 직접 만들어 볼 것입니다. 1. Project 준비하기 Project는 이전 글에서 설명하던 Project를 그대로 사용할 것이지만 아래와 같이 더이상 필요하지 않은 file은 삭제해야 합니다. PowerShell을 열고 Project folder를 찾아가 아래 명령을 실행하면 해당 file들을 ..

    ASP.NET Core - 18. Model Validation

    ASP.NET Core - 18. Model Validation

    Application이 전달받은 data를 단순히 표시만 할 것이 아니라면 사용자가 제공한 data는 Application이 해당 data를 사용하기 이전에 사전 검사가 이루어져야 합니다. 실제로도 사용자는 유효성이 검증되지 않은 사용할 수 없는 data를 입력할 수 있기 때문에 유효성검사가 이루어져야 하며 ASP.NET Core에서는 이를 실행하는 방법으로 model validation을 지원하고 있습니다. model validation은 application으로 전달된 data가 model로 binding 하기에 알맞은지를 보증하기 위한 process에 해당되며 만약 그렇지 않은 경우라면 사용자에게 문제를 해결하는데 도움이 될 수 있는 유용한 정보를 제공해 주는 역할도 수행할 수 있습니다. 이러한 기..

    ASP.NET Core - 17. Model Binding

    ASP.NET Core - 17. Model Binding

    Model binding은 HTTP요청으로 들어온 값을 사용해 .NET 개체를 생성하는 것으로 action method와 Razor Page에서 필요한 data로의 일관적인 접근을 제공해 줄 수 있습니다. 이와 관련해 model binding system이 작동하는 방식과 단순한 type에서 복잡한 type, 그리고 collection에 이르기까지 데이터를 어떻게 bind 할지를 같이 알아볼 것입니다. 또한 process를 제어해 요청의 일부를 지정하여 application에서 필요한 data를 제공해 줄 수 있을지도 함께 살펴볼 것입니다. 1. project 준비하기 예제를 위한 project는 이전글에서 사용하던 것을 계속해서 사용할 것입니다. 다만 Views/Form folder에 Form.csht..

    ASP.NET Core - 16. Forms Tag Helper

    ASP.NET Core - 16. Forms Tag Helper

    내장 Tag Helper 중에는 HTML Form을 만들기 위해 사용되는 것들도 존재합니다. 이들 tag helper는 form이 지정한 action이나 page handler method로 submit 되도록 하며 요소들을 정확하게 지정한 model 속성으로 표현되도록 합니다. 1. Project 준비하기 예제 Project는 이전글에서 사용하던 것을 그대로 사용할 것입니다. 다만 Views/Shared folder에 있는 _SimpleLayout.cshtml file을 아래와 같이 변경합니다. @RenderBody() 또한 유사한 content를 제공하기 위해 controller view와 razor page를 같이 사용할 것입니다. 때문에 controller와 page사이를 더 쉽게 구분하기 위해 ..

    ASP.NET Core - 15. 내장 Tag Helper

    ASP.NET Core - 15. 내장 Tag Helper

    ASP.NET Core는 일련의 내장된 tag helper들을 제공함으로써 일반적인 상황에서 필요한 요소의 변환을 수행할 수 있습니다. 이번 글을 통해 anchor, script, link, image요소등을 처리하는 tag helper와 content를 caching 하거나 환경에 기반한 content를 선택하는 등의 기능에 관해서도 함께 알아보고자 합니다. 1. Project 준비하기 해당 예제 Project는 역시 이전이 Project를 그대로 사용할 것이지만 Program.cs를 아래와 같이 변경하여 이전에 tag helper를 등록하기 위한 구문을 주석처리합니다. builder.Services.AddControllersWithViews(); builder.Services.AddRazorPages..

    ASP.NET Core - 14. Tag Helper

    ASP.NET Core - 14. Tag Helper

    Tag Helper는 View나 Page에서 HTML요소로 변환되는 C# class입니다. Tag Helper은 일반적으로 Application의 Routing설정을 사용하는 Form에서 URL을 생성하거나 특정한 유형의 요소가 일관적으로 표현되도록 하는 데 사용되며 사용자 정의된 특정요소를 필요한 대상의 content요소로 바뀔 수 있도록 합니다. 이번 글에서는 어떻게 Tag helper가 작동하는지와 사용자 정의 tag helper를 어떻게 생성하고 적용할 수 있을지에 대해서도 알아볼 것입니다. 1. Project 준비 예제를 위한 Project는 이전 글에서의 Project를 계속 사용할 것입니다. 다만 Program.cs file을 아래와 같이 변경하여 이전에 작성된 몇몇 설정을 제거하도록 합니다..