Introduction to ASP.NET Core

code

ASP.NET Core platform is a technology from Microsoft, designed for creating various kinds of web applications: from small web sites to large web portals and web services.

On the one hand, ASP.NET Core is a continuation of the ASP.NET platform development. But on the other hand, it is not just another release. The release of ASP.NET Core actually means a revolution of the entire platform, its qualitative change.

ASP.NET Core is now entirely an opensource framework. All the source files of the framework are available on GitHub.

ASP.NET Core can run on top of the cross-platform .NET Core environment, which can be deployed on major popular operating systems: Windows, Mac OS, Linux. And thus, with ASP.NET Core, we can create cross-platform applications. And although Windows as an environment for application development and deployment still prevails, but now we are no longer limited to this operating system. That is, we can run web applications not only on Windows, but also on Linux and Mac OS. And for web application deployment we can use traditional IIS or cross-platform web server Kestrel.

Due to the modularity of the framework, all necessary components of a web application can be loaded as separate modules through the Nuget package manager. In addition, unlike previous versions of the platform, there is no need to use the System.Web.dll library.

ASP.NET Core includes the MVC framework, which combines the functionality of MVC, Web API and Web Pages. In previous versions of the platform, these technologies were implemented separately and therefore contained a lot of duplicate functionality. Now they are united in one program model ASP.NET Core MVC. And Web Forms are completely gone.

In addition to combining the above technologies into one model, a number of additional features have been added to MVC.

One such feature is tag helper, which allows you to more seamlessly combine html syntax with C# code.

ASP.NET Core is characterized by extensibility. The framework is built from a set of relatively independent components. And we can either use the built-in implementation of these components, or extend them using the inheritance mechanism, or create and use our own components with their own functionality.

Dependency management and project configuration have also been simplified. The framework now has its own lightweight container for dependency enforcement and there is no longer a need to use third-party containers such as Autofac, Ninject. Although they can also continue to be used if desired.

As a development toolkit, we can use the latest releases of Visual Studio, starting with Visual Studio 2015. In addition, we can create applications in the Visual Studio Code environment, which is cross-platform and can run on Windows, Mac OS X and Linux.

The new HTTP pipeline, which is based on Katana components and the OWIN specification, is now used to process requests. And its modularity makes it easy to add your own components.