ASP.NET Core Study Notes (a) recognize ASP.NET Core

  This year has been engaged in C / S-side development, including the current work is also carried out using winform UI display, resulting in Core learning dragged on, finally stopped near the end of lazy, huh!

Simple comparison of ASP.NET and ASP.NET Core

  First, ASP.NET Core is an open source cross-platform framework for high-performance, compared with the previous ASP.NET is certainly the biggest difference is cross platform. ASP.NET subject to traditional System.Web library, constrain its future development, and rely on IIS and the .NET Framework ASP.NET framework can not lead to a cross-platform (because IIS and the .NET Framework is not cross-platform, can only be deployed in the window platform). ASP.NET Core as an extension of Microsoft's new application of the main frame, not the ASP.NET Framework, but there are essentially different, ASP.NET Core is no longer based on the traditional System.Web.dll, and no longer rely on IIS windows, but across all platforms, arbitrary deploy on Windows, Mac or Linux platforms; not only managed program can only use IIS, Nginx, Apache, Docker and so can be used for project deployment.

ASP.NET Core web server

  ASP.NET Core web server has two: HTTP.sys and Kestrel. Kesterl server is used by default.

  HTTP.sys only runs on Windows platform Web server. Kestrel is a cross-platform Web server. Default in ASP.NET Core project template.

  HTTP.sys server is running in kernel mode, thus reducing the number of calls the system, the operating efficiency is higher compared to the Kestrel server, and HTTP.sys can be used as a reverse proxy server to use, very powerful, but the biggest problem is not cross-platform, it can only run under Windows.

  Kestrel server running ASP.NET Core application, cross-platform network requests and handle a high efficiency. Because ASP.NET Core has two kinds of Web server and, therefore, there are two hosting model: Inprocess (in-process hosting) and Outofprocess (out of process hosting).

ASP.NET Core hosting model

  Inprocess model: using a server (IISHttpServer) within the IIS worker process, the work process of the application hosting into the IIS worker process. Obviously they can not cross-platform, but the advantage is better performance compared with Outofprocess recommended Inprocess on IIS.

  Outofprocess model: the web server forwards the request to the back end of ASP.NET Core Kestrel application. Using this model, the profile must manually set the value in the node aspNetCore.hostingModel web.config file is: outofprocess. Set this value purpose is to tell IIS, the current program does not use IISHttpServer, but the use of kestrel server.

  

 

 

 

Guess you like

Origin www.cnblogs.com/haley24/p/11853483.html