.NET Core is the new kid on the block. So why would I want to use .NET Core?
- What and Why
- Understanding .NET Core: .NET Framework versus .NET Core
- Supporting multiple runtimes
Visual Studio improvements for ASP.NET Core
With .NET Core Microsoft introduced a new project model, with a lot of emphasis on NuGet packages.
- Understanding the new project structure
- Compile directly to memory
- Installing dependencies with NuGet
- Targeting frameworks and handling differences
- Executing commands and tools
- Pinning the SDK with global.json.
- Handling bundling and minification in .NET Core projects
.NET Core Cross-Platform Capabilities
So how can I build .NET core applications on a Mac or Linux machine?
- Developing ASP.NET Core on any platform
- Generating a .NET Core project using dotnet cli
- Getting started with Visual Studio Code
ASP.NET Core Pipeline
ASP.NET Core easily outperforms all other web hosting solutions. So how did they do that?
Here we will look at the ASP.NET pipeline, and how to make it do your bidding.
- Understanding the principle of the ASP.NET Core Pipeline
- Selecting your middleware in the Startup class
- Understanding the need for dependency injection and how to configure it
- Adding your first middleware for serving static files
- ASP.NET Core has its own routing middleware
- Showing proper diagnostics while developing, and how to disable it in production
The new ASP.NET Core Configuration
ASP.NET Core allows you to pick and choose where to store your configuration.
We will look at the idea behind this and of course how to choose your configuration.
- No more web.config
- Formats: JSON, INI or XML
- Why you should store confidential configuration in environment variables and user secrets
- Different ways of getting configuration to your code
- Using the Options pattern
- Adding your own configuration provider
- Storing sensitive configuration in Secrets.
Proper logging is essential to find problems in production.
.NET Core brings a unified logging approach which you can use anywhere in .NET
and also works with your preferred logging framework.
- Why do we need another logging framework
- Choosing from different logging providers
- Understanding logging scopes
- An example: Using NLog
- Logging guidelines and recommendations
OWIN and Middleware
The Open Web Interface for .NET brought a simple standard way for building web servers with .NET.
ASP.NET Core built upon this standard and with it you can easily build your own custom extensions for .NET Core.
- What is the OWIN specification
- Project Katana and how to build a webserver with it
- Applying the new EndPoint routing.
- Building your own custom middleware
- Testing your middleware
On the web the URL decides what the server will do. In ASP.NET Core you will find the End-point Routing Middleware.
A solid understanding of this middleware is required to build with ASP.NET Core.
- Getting Started with Routing Concepts
- Defining Routing Templates
- Route Parameter Contraints
- Route Parameter Transformers
- Understanding Route Matching
- Using Concentional vs. Attribute Routing.
- Routing Attributes
- Handling Routing Errors
ASP.NET Core and MVC
Every new version of MVC brings a couple of improvements making it easier for developers to
build state-of-the-art web applications.
Among other features we will look at taghelpers, which bring a similar concept like
Angular directives to the server side.
- Web UI and Web API Unification
- Understanding _ViewStart.cshtml and _ViewImports.cshtml
- Better readable and more powerfull Razor with tag helpers
- Developing and installing your own tag helpers
- Building View Components
- Service Injection
Publishing Your Application
So you have finished a working version of your application. How do you deploy this? What are the options?
Since .NET is cross-platform, you can build everything on Windows, and then run on Linux.
We will also discuss various deployment options, such as assembly trimming.
- Deployment Options.
- Cross-platform Deployment.
- Self-Contained Deployment.
- Self-Contained Deployment Options
Entity Framework Core
With .NET Core also comes Entity Framework Core.
A new implementation of EF, which can run cross-platform, on Windows, Mac and Linux.
You will get a look at the differences between EF Core and EF 6.
- Difference with Entity Framework 6
- Scaffolding your project from an existing database
- Generated code
- Interacting with the database
Modeling your database with EF Core
Mapping in EF Core uses conventions, or Fluent API.
You will see how to use Fluent API in EF Core.
- Methods of configuration.
- Creating and applying migrations.
- Table and column mapping.
- Modeling properties.
- Mapping Value generated properties.
- Handling Concurrent updates.
- Modeling relationships.
- Mapping inheritance.
Add real-time web functionality to your application.
- What is SignalR?
- Server Concepts
Blazor is a new way to build interactive client-side web UI with ASP.NET Core.
- Introducing Blazor
- Client-Side vs. Server-Side Blazor
- Creating a simple Blazor Component
- Hosting Blazor
- How does it work?
ASP.NET Core is a dramatic change to what ASP.NET used to be. MVC and Web API are not completely different
but anything surrounding it is. Edit and debug your code with Visual Studio Code. Deploy your web app
on linux or even a raspberry Pi. It's a brave new world of openess. No more web.config and no more System.Web.
Has Microsoft gone mad? No, definitly not, this is the best thing to happen to ASP.NET since a long time.
Join us in this game of codes. With .NET Core you can choose your
development environment, such as Visual Studio, Visual Studio Code and other. This training will
use Visual Studio, but if you like you can also use one of the other tools for development.
This course is meant for developers that have experience with ASP.NET MVC and/or Web API and want to get on board with the
latest development in ASP.NET.