Introduction to ASP.NET Core | Microsoft Docs

By Daniel Roth, Rick Anderson, and Shaun Luttin

ASP.NET Core is a significant redesign of ASP.NET. This topic introduces the new concepts in ASP.NET Core and explains how they help you develop modern web apps.

What is ASP.NET Core?

ASP.NET Core is a new open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. ASP.NET Core apps can run on .NET Core or on the full .NET Framework. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux. ASP.NET Core is open source at GitHub.1

Why build ASP.NET Core?

The first preview release of ASP.NET came out almost 15 years ago as part of the .NET Framework. Since then millions of developers have used it to build and run great web apps, and over the years we have added and evolved many capabilities to it.

ASP.NET Core has a number of architectural changes that result in a much leaner and modular framework. ASP.NET Core is no longer based on System.Web.dll. It is based on a set of granular and well factored NuGet packages. This allows you to optimize your app to include just the NuGet packages you need. The benefits of a smaller app surface area include tighter security, reduced servicing, improved performance, and decreased costs in a pay-for-what-you-use model.

With ASP.NET Core you gain the following foundational improvements:

  • A unified story for building web UI and web APIs

  • Integration of modern client-side frameworks and development workflows

  • A cloud-ready environment-based configuration system

  • Built-in dependency injection

  • New light-weight and modular HTTP request pipeline

  • Ability to host on IIS or self-host in your own process

  • Built on .NET Core, which supports true side-by-side app versioning

  • Ships entirely as NuGet packages

  • New tooling that simplifies modern web development

  • Build and run cross-platform ASP.NET apps on Windows, Mac and Linux

  • Open source and community focused

  • 1

    Build web UI and web APIs using ASP.NET Core MVC

  • You can create well-factored and testable web apps that follow the Model-View-Controller (MVC) pattern. See MVC and Testing.

  • You can build HTTP services that support multiple formats and have full support for content negotiation. See Formatting Response Data

  • Razor provides a productive language to create Views

  • Tag Helpers enable server-side code to participate in creating and rendering HTML elements in Razor files

  • You can create HTTP services with full support for content negotiation using custom or built-in formatters (JSON, XML)

  • Model Binding automatically maps data from HTTP requests to action method parameters

  • Model Validation automatically performs client and server side validation

  • Client-side development

    ASP.NET Core is designed to integrate seamlessly with a variety of client-side frameworks, including AngularJS, KnockoutJS and Bootstrap. See Client-Side Development for more details.1

    Next steps

  • Building your first ASP.NET Core MVC app with Visual Studio

  • Your First ASP.NET Core Application on a Mac Using Visual Studio Code

  • Building Your First Web API with ASP.NET Core MVC and Visual Studio

  • Fundamentals

  • 推薦閱讀:

    什麼是 ASP/ASP+/ASP.NET
    細說微軟2018Build大會中.Net Core更新的是啥
    ASP.NET面試題(英文)
    Asp.Net Core中間件攔截Http流
    博客園 - 鳥食軒 - 在Apache環境下成功的運行ASP.NET

    TAG:.NET | ASP.NET | Microsoft |