'NuGet 패키지'에 해당되는 글 1건

 

ASP.NET Core 과 Asp의 차이 ?

클라우드 기반 웹 응용 프로그램을 개발하기 위해 오픈소스로 새롭게 개발된 크로스 플랫폼 프레임워크다

온프레미스 환경에도 배포하여 수행할 수 있는 앱을 개발하기 위한 최적화된 개발 프레임워크를 제공하기 위해서 완전히 새롭게 개발

온프레미스 소프트웨어는 인터넷 네트워크에 연결 된 서버팜이나 클라우드 등의 원격 환경에서 사용하는 것이 아니라 건물에서 일하는 직원 또는 단체에서 설치, 실행하는 소프트웨어를 말한다. on-prem software(온프렘 소프트웨어) 또는 on-premise software(온프레미스 소프트웨어)라고 줄여서 쓰기도 하며 shrinkwrap software라고 부르기도 한다.

 

오버헤드를 최소화한 모듈화된 컴퍼넌트로 구성되어 있어서, 솔루션 구성시에 유연성을 유지

윈도우, , 리눅스에서 ASP.NET Core 응용 프로그램을 개발할 수 있다

 

ASP.NET Core를 만들었는가?

아키텍쳐 변경을 통해 군더더기 없이 모듈화된 코어(core) 웹 프레임워크를 만들기 위해

(ASP.NET CoreSystem.Web.dll 에 더이상 기반하지 않고, 잘게 분리된 NuGet 패키지들에 기반해서 최적화된 개발가능) (응용프로그램이 필요 이상의 모듈을 포함하지 않기 때문에 보안상 개선 효과가 있고, 서비스 하는 부담 또한 줄여준다)

(사용한만큼 지불하는(pay-for-what-you-use) 모델을 채택함으로써 응용프로그램의 성능이 개선)

ASP.NET Core에서 중대한 개선사항 포함

(새롭게 경량화되고 모듈화된 HTTP 요청 파이프라인)

(IIS 또는 개발자 자신의 프로세스에서 셀프 호스트할 수 있는 능력)

(닷넷 코어에 기반한 진정한 side-by-side 앱 버전 관리(versioning)) = 동일한 컴퓨터에서 여러 버전의 응용 프로그램 또는 구성 요소를 실행

(모든 기능이 NuGet 패키지 형태로 추가)

(NuGet 패키지들을 생성하고 사용하는 것에 대한 통합된 지원)

(웹 사용자 인터페이스와 웹 API를 위한 단일 웹 스택)

(클라우드를 위한 환경 기반 구성)

(내장된 종속성 주입 기능)

(모던 웹 개발을 단순화 시킨 새로운 도구들(tooling))

(윈도우, , 리눅스에서 개발하고 실행할 수 있는 크로스플랫폼)

(오픈 소스와 커뮤니티에 초점)

   

ASP.NET Core 특징

 

 

Kestrel 자체 웹서버 운용 가능

동적 컴파일

- 기존에는 빌드 하고 배포 했으나 에디터로 수정 가능함

의존성 주입 포함 - Startup.cs ConfigureServices에서 아래와 같이 트랜젝션 제어 주입이 가능함

- services.AddTransient<IService, Service>();

- services.AddScoped<IService, Service>();

- services.AddSingleton<IService, Service>();

Bower(정적파일 패키지 관리[jquery, angular, bootstrap 같은것 관리]), Gulp(빌드자동화), Grunt, NPM, Node.js, TypeScript, Yeoman 등 통합 가능

- 스크립트 압축, 빌드 자동화 등 커뮤니티 기반 웹개발 도구를 포함한다.

  

ASP.NET Core 몇가지 과거와 달라진 사용법

ViewEngine 커스터 마이징

Startup.cs -> ConfigureServices(IServiceCollection services)

services.AddMvc().Configure<MvcOptions>(options => { options.ViewEngines.Add(new MyCustomerViewEngine ()); });

MapRoute 커스터 마이징

Startup.cs -> Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)

app.UseMvc(routes => {routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); });

BundleCollection 커스터 마이징

bundleconfig.json에 설정하여 사용

GlobalFilterCollection 커스터 마이징

services.AddMvc(options =>

{

options.Filters.Add(new AddHeaderAttribute("GlobalAddHeader",

"Result filter added to MvcOptions.Filters")); // an instance

options.Filters.Add(typeof(SampleActionFilter)); // by type

options.Filters.Add(new SampleGlobalActionFilter()); // an instance

});

 

 

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,