Design By: TEDU Trainer: Bach Ngoc Toan: Please Tedu Channel To Following The Next Video
Design By: TEDU Trainer: Bach Ngoc Toan: Please Tedu Channel To Following The Next Video
Website: www.tedu.com.vn
Facebook: fb.com/teduchannel
Contents
• Fundamentals
• Startup
• Services
• Middleware
• Servers
• Content root
• Web root
• Configuration
• Environments
• .NET Core vs. .NET Framework runtime
Fundamentals
• An ASP.NET Core app is simply a console app that creates a web server in its
Main method:
Startup
• The UseStartup method on WebHostBuilder specifies the Startup class for your
app.
Services
• A service is a component that is intended for common consumption in an
application.
• Services are made available through dependency injection (DI).
• ASP.NET Core includes a simple built-in inversion of control (IoC) container that
supports constructor injection by default.
• The built-in container can be easily replaced with your container of choice.
Middleware
• ASP.NET Core middleware performs asynchronous logic on an HttpContext and
then either invokes the next middleware in the sequence or terminates the
request directly.
• You generally "Use" middleware by taking a dependency on a NuGet package and
invoking a corresponding UseXYZ extension method on the IApplicationBuilder
in the Configure m
• ASP.NET Core comes with a rich set of built-in middleware:
• Static files
• Routing
• Authentication
Servers
• The ASP.NET Core hosting model does not directly listen for requests; rather it
relies on an HTTP server implementation to forward the request to the
application.
• The forwarded request is wrapped as a set of feature interfaces that the
application then composes into an HttpContext.
• ASP.NET Core includes a managed cross-platform web server, called Kestrel that
you would typically run behind a production web server like IIS or nginx.
Content root
• The content root is the base path to any content used by the app, such as its views
and web content.
• By default the content root is the same as application base path for the executable
hosting the app; an alternative location can be specified with WebHostBuilder.
Web root
• The web root of your app is the directory in your project for public, static
resources like css, js, and image files.
• The static files middleware will only serve files from the web root directory (and
sub-directories) by default.
• The web root path defaults to /wwwroot, but you can specify a different location
using the WebHostBuilder.
Configuration
• ASP.NET Core uses a new configuration model for handling simple name-value
pairs. The new configuration model is not based on System.
• Configuration or web.config; rather, it pulls from an ordered set of configuration
providers.
• The built-in configuration providers support a variety of file formats (XML,
JSON, INI) and environment variables to enable environment-based
configuration.
• You can also write your own custom configuration providers.
Environments
• Environments, like "Development" and "Production", are a first-class notion in
ASP.NET Core and can be set using environment variables.
• For more information, see Working with Multiple Environments.
When to choose .NET Core
• You have cross-platform needs.
• You are targeting microservices.
• You are using Docker containers.
• You need high performance and scalable systems.
• You need side by side of .NET versions by application.