본문 바로가기
ASP.NET Core

ASP.NET MVC vs ASP.NET Core] static files, DI 차이

by Fastlane 2023. 2. 7.
728x90
반응형

static files 제공

  • ASP.NET MVC

앱에서 직접 정적 파일을 host한다. 많은 정적 파일의 경우, CDN을 사용하는 것이 좋다. 

  • ASP.NET Core

정적파일을 지원하지 않는다. .NET Core에서 정적파일을 제공하려면 static files middleware를 구성해야 한다. 

app.UseStaticFiles();

다음 경로는 wwwroot/images/MyImage.jpg를 참조한다. 

<img src="~/images/MyImage.jpg" class="img" alt="My image" />

정적파일 middleware가 구성되면 Core app은 특정폴더({content root}/wwwroot)에 모든 파일을 제공한다.

물론 CDN도 사용할 수 있다. 

728x90

Dependency injection

  • ASP.NET MVC

DI는 기본제공이 아니어서, IOC컨테이너가 있는 NuGet 패키지를 설치하여 사용한다. 

인기있는 컨테이너 중 일부는 다음과 같다. 

  1. Autofac
  2. Unity
  3. Ninject
  4. Castle Windsor

다음은 Unity를 사용하여 DI를 구성한 글이다. 

https://bigexecution.tistory.com/86

 

ASP.NET MVC 4] 종속성 주입 (Dependency Injection)

출처 : https://docs.microsoft.com/ko-kr/aspnet/mvc/overview/older-versions/hands-on-labs/aspnet-mvc-4-dependency-injection DI (Dependency Injection) 디자인 패턴의 목표 종속성 주입 패턴은 골프에 비유할 수 있다. 고객이 클럽을

bigexecution.tistory.com

  • ASP.NET Core

Core는 앱이 DI를 사용하고 있다고 가정한다. framework 내장이 아닌, app에 framework 기능을 지원하기 위해 필요하다. 

앱 Startup에서 ConfigureServices가 호출되고, DI컨테이너가 생성하고 주입하는 모든 type을 등록한다. custom container도 사용할 수 있다. 

 

DI는 ASP.NET Core의 fundamental이다. 

728x90
반응형

댓글