ASP.NET
ASP.NET Core - 11. View와 Controller - 2
이번 글에서는 View와 Controller 1에 이어서 Razor View에서 제공되는 더 많은 기능들에 대해 살펴보고자 합니다. 구체적으로는 View Bag을 사용해 어떻게 필요한 Data를 View로 전달할 수 있을지, View에서 중복되는 부분을 해결할 수 있는 Layout과 Layout section에 대한 사용, 그리고 어떻게 표현식으로부터의 결과를 Encoding하고 또 Encoding처리를 막을 수 있는지에 대한 것들을 하나씩 알아보도록 하겠습니다. 1. Project 준비하기 예제를 위한 Project는 이전의 Project를 그대로 사용할 것이며 다만 HomeController.cs file을 아래 내용으로 조정하여 시작할 것입니다. using Microsoft.AspNetCore.Mv..
ASP.NET Core - 6. Data Caching
이제까지의 만들어왔던 예제는 모두 각 요청에 대해서만 유효한 응답이 이루어지던 것으로서 간단한 문자열이나 작은 일부 HTML을 처리하는데 유용한 방법이었습니다. 그러나 대부분 Project의 경우 생성하는데 고비용이면서 최대한 효휼적으로 사용되어야 하는 Data를 다루게 됩니다. 이에 따라 ASP.NET Core에서 제공하는 data caching과 전체 응답을 caching 하는 것에 대해 알아보고자 합니다. 1. Project 준비하기 예제를 위한 Project는 이전에 만들었던 Project를 그대로 사용할 것입니다. 다만 Program.cs의 내용은 아래와 같이 변경합니다. var builder = WebApplication.CreateBuilder(args); var app = builder.B..
[.NET] C#과 NET의 프로젝트 유형 - 4. Entity Data Model
6. entity data model 생성하기 (SQLite) 일반적으로 대부분의 Application은 데이터를 다루는데 관계형 데이터베이스와 같은 DB를 사용합니다. 이와 관련하여 SQL Server나 SQLite에 저장된 데이터베이스를 어떻게 entity data model로 정의할 수 있는지에 대해서 알아보고자 합니다. 우선 이를 위해 SQLite용으로 사용 가능한 Northwind.db를 만들어 두었습니다. 이 파일은 아래 링크에서 내려받으시면 됩니다. 위의 파일을 적당한 위치에 내려받고 나서 이제 해당 db파일을 상대로 dotnet-ef을 통해 entity model을 scaffold 할 것입니다. (1) SQLite의 entity model을 위한 class library 생성 data mo..
[.NET] C#과 NET의 프로젝트 유형 - 3. Project 구조설계및 프로젝트 템플릿
4. project의 구조화 크고 복잡한 설루션에서는 내부의 코드를 파악하는데 어려움이 있을 수 있습니다. 이것은 프로젝트를 구조화해야 하는 주요 이유가 될 수 있는데 이로 인해 필요한 컴포넌트를 쉽게 찾을 수 있도록 하는 것입니다. 큰 하나의 설루션은 여러 프로젝트로 나뉘어 구성될 수 있으며 이때 프로젝트의 이름은 나름대로의 체계성을 가지고 있는 것이 좋습니다. 프로젝트의 이름을 붙이기 위한 다양한 방법이 존재하는데 예를 들어 모든 프로젝트의 접두사로 해당 회사의 이름을 붙이는 것도 하나의 방법이 될 수 있습니다. 예를 들어 회사명이 Northwind라면 아래와 같이 각 프로젝트의 유형별로 나뉘어 구성할 수 있을 것입니다. Northwind.Common 일반적인 공통기능의 Class Library 모음..
[.NET] C#과 NET의 프로젝트 유형 - 2. ASP.NET Core와 Windows 전용 Desktop App
2. ASP.NET Core의 새로운 기능 지난 몇 년 동안 Microsoft는 ASP.NET Core의 능력을 급속히 확장시켜 왔으며 각각의 Version은 아래와 같은 Flatform을 지원합니다. ASP.NET Core 1.1 ~ 2.2 : .NET Core 및 .NET Framework ASP.NET Core 3.0 ~ : .NET Core 3.0 및 이후 버전 (1) ASP.NET Core 1.0 ASP.NET Core 1.0은 2016년 6월에 릴리즈 되었으며 Windows, macOS, Linux등의 OS에서 cross-platform Web이나 Service를 구축하기 위해 필요한 최소한의 안정된 API를 구현하는데 집중한 버전입니다. (2) ASP.NET Core 1.1 ASP.NET C..
[.NET] C#과 NET의 프로젝트 유형 - 1. App Model
1. C#과 .NET의 App Model App Model은 일반적인 Application을 제작하는 대부분의 경우에 사용됩니다. 이와 관련하여 마이크로소프트는 App Model에 대한 광범위한 문서를 제공하고 있는데 이는 아래 주소에서 확인할 수 있습니다. .NET Application Architecture Guides (microsoft.com) .NET Application Architecture Guides Free e-books and practical advice for developing for web, desktop, mobile, and microservices with Docker. Learn how to migrate existing .NET apps to the cloud. dot..
[ASP.NET Core] Blazor 웹 프로젝트 시작하기
이번 포스팅에서는 Blazor를 사용하여 사용자 인터페이스를 구축하는 방법에 관해 간단히 알아보고자 합니다. 또한 Blazor만이 가진 특징과 함께 나름대로의 장·단점에 대해서도 함께 살펴보고자 합니다. 우선 웹서버나 웹브라우저에서 실행할 수 있는 Blazor component에 관한 것부터 알아 볼 것입니다. Blazor component는 2가지 방법으로 제공될 수 있는데 첫번째로 Blazor Server로 호스트되는 경우로서 브라우저상의 사용자 인터페이스 변경을 위해 SignalR을 사용할 수 있는 반면 Blazor WebAssembly로 호스트되는 경우에는 Web Browser상에서 코드가 실행되고 서버와의 상호작용을 위해 HTTP요청을 만들어 호출하는 방법을 사용하게 됩니다. 1. Blazor의..
[ASP.NET Core Web API] DI (Dependency Injection) 구현 (Autofac)
시작하기 전 NuGet Package에서 Autofac과 Autofac.Extensions.DependencyInjection 패키지를 검색해 내려받고 설치합니다. 패키지 설치가 완료되면 우선 DI를 적용할 대상 인터페이스를 작성합니다. public interface IRepository { dbContext Data(); } 위 인터페이스는 dbContext를 반환하는 Data() 메서드를 선언하고 있으며 해당 인터페이스를 상속받아 인터페이스에서 정의한 메서드를 구현합니다. public class Repository : IRepository { public dbContext Data() { return new dbContext(); } } 작성된 클래스는 데이터베이스의 Entity 객체를 반환하는 클래..