ASP. NET Core stage summary, asp. netcore

Source: Internet
Author: User

ASP. NET Core stage summary, asp. netcore

Reference page:

Http://www.yuanjiaocheng.net/ASPNET-CORE/core-middleware.html

Http://www.yuanjiaocheng.net/ASPNET-CORE/core-exception.html

Http://www.yuanjiaocheng.net/ASPNET-CORE/core-static-files.html

Http://www.yuanjiaocheng.net/ASPNET-CORE/setup-mvc.html

Http://www.yuanjiaocheng.net/ASPNET-CORE/mvc-design-pattern.html

I haven't paid much attention to ASP. NET 5 since I used ASP. NET 5 to rewrite a project (2015.12) a year ago. Why? Because there are too many practical application problems, and it is not an official version, the changes are too fast. Maybe what you know today will be rejected tomorrow, but now let's look back, if you don't pay attention to it, you will lose some valuable things. Although you have learned from the news, you should also think deeply and go through the Mature Process of Microsoft Open Source step by step, this is also an opportunity for us.

During this time, I think there were two major events:

  • ASP. NET 5 has ended and ASP. NET Core 1.0 and. NET Core 1.0 are coming soon.
  • Microsoft announced that it would postpone the release date of ASP. NET Core.

The biggest impact on us is the renaming of ASP. NET 5 to ASP. NET Core 1.0. I will briefly list several:

  • The search resource does not match. Should I search ASP. NET vNext? Or ASP. NET 5? Or is ASP. NET Core 1.0? In addition, no relevant articles have been found.
  • The package name changes, which has the greatest impact on projects that have been developed using ASP. NET 5, for exampleMicrosoft.AspNet.MvcChangedMicrosoft.AspNetCore.Mvc.Core, The names of the related assembly must be changed.
  • Command invocation changes (including runtime) are mainly used to add new things to the CLI, suchdnu restoreChangeddotnet restoreAnd so on.
  • ...

The above is the impact on our developers. In fact, for Microsoft, renaming also brings a lot of extra work, which leads to ASP. NET Core release date is postponed, as mentioned in the news: This is a good change, but why is it so late? It would be nice to change the name of ASP. NET vNext to ASP. NET 5 quickly.

Except ASP. in addition to renaming NET Core 1.0, I think there is another major change, that is, the change from dnx to cli. This part needs to be discussed in depth. Before discussing it, you can read this blog post: K & DN's past and present (Microsoft's open-source naming revolution)

  • K->Dotnet-> Dn (Final Version)
  • Kpm->Dotnet-> Nuget-> dotnpm-> dotnetpm-> dnpm (Final Version)
  • Kvm> dotnetsdk> dotnvm> dotnetvm> dnvm (Final Version)
  • K and kvm->Dotnet-> Merge (reject)
  • Kre/xre-> dnx (undiscussed)

The above is an Issue discussed in the naming convention on GitHub a long time ago. Now let's look back at it, isn't it very interesting, because the naming discussed at the beginning is now Microsoft's name, microsoft has done too much useless work. cli has changed from dnx. Let's first understand what dnx is?

The DNX (a .NET Execution Environment) contains the code required to bootstrap and run an application, including the compilation system, SDK tools, and the native CLR hosts.

To put it bluntly, I think dnx is the runtime of ASP. NET 5 applications (within a certain period of time). Why? Let's first understand the history of dnx. dnx was first named xre and then kre. Note that CoreCLR was not available at that time. For details, see charm. NET: From Mono ,. at the end of the article about NET Core, the code in xre is not very perfect. Many of the Code is from mono, including mono at runtime, according to the dnx introduction above, it is actually a runtime, And because dnx is not perfect, the commands around it will be changed.

Later, Microsoft developed CoreCLR, which is a runtime run by Microsoft. The GitHub address is not stored in aspnet but in dotnet. However, CoreCLR is not perfect, once published from the open source address, it has been developing and cannot be used (cross-platform). Therefore, dnx has been used by ASP. NET 5, but later with the gradual improvement of CoreCLR, Microsoft began to consider abandoning dnx, and cli was born.

It should be noted that cli is not renamed by dnx, but evolved. They are two completely different concepts. In addition, cli is not short for Common Language Infrastructure. NET Core Command Line Interface.. NET Core command line interface.

CLI, This repo contains the .NET Core command-line (CLI) tools, used for building .NET Core apps and libraries through your development flow (compiling, NuGet package management, running, testing, ...).
This repo contains the source code for cross-platform .NET Core command line toolchain. It contains the implementation of each command, the native packages for various supported platforms as well as documentation.

Compared with the dnx definition above, we will find that they are completely different. What content does the cli contain ,. NET Core command line interface and its implementation, its role is to build a communication bridge between applications and runtime, named in the formdotnet *At first, I think cli is a specification implemented by all Microsoft commands in the future, and there should be no more miscellaneous commands.

Finally, let's take a look at the content of About. NET Core:

.NET Core is a cross-platform implementation of .NET that is primarily being driven by ASP.NET 5 workloads, but also by the need and desire to have a modern runtime that is modular and whose features and libraries can be cherry picked based on the application’s needs.
.NET Core consists of the CoreCLR runtime and the CoreFX framework libraries. A set of cross-platform tooling can be found in the .NET CLI. The Roslyn compiler and LLILC compiler are sibling projects that support .NET Core. These projects are active on GitHub. You can participate by creating issues or collaborate on development. The main goal of the project is to create a modular, performant and cross-platform execution environment for modern applications.

. NET Core is ASP. NET 5 cross-platform implementation, which was gradually changed.. NET cross-platform core runtime ,. NET Core contains CoreCLR and CoreFX,. net cli, Roslyn and LLILC compilers, main goals:Modular (modular),Performant (High Performance)AndCross-platform execution environment (cross-platform execution environment).

For high performance, see the latest article ASP. NET Core can process 1.15 million requests per second, which is ASP. NET 4.6 23 times (50 thousand requests), and ASP. NET Core 1.0 application example: ASP. NET Core 1.0 Hello World

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.