Workshop for .NET developers by Dino Esposito. The workshop will be held in English.
It’s a bit problematic to condense in one day the major facts around ASP.NET Core and be insightful and comprehensive at the same time. This workshop is structured to upgrade your web programming skills to ASP.NET Core. The main takeaway is learning how to do the same web-related things you know how to do in your favorite environment in ASP.NET Core. The list includes how to fine-tune the request pipeline and address the content of the incoming request and how to configure the application runtime to serve static files, cookies, and prepare work for the backend. It also covers configuration and user authentication and serving up some user interface. The final module is about controllers and web HTTP API. The topics will be elaborated through progressive examples that you can follow both in a passive lecture-style way and actively participating writing code live using your laptop.
You’ll start with the hello-world application created by Visual Studio and proceed customizing the request pipeline adding common pieces such as static and default files, compression and all the various adjustments you need. You’ll also explore the way that requests are pre- and post-processed and compare that to HTTP handlers and HTTP modules. Custom middleware is also discussed and general architecture considerations should provide obvious evidence of why ASP.NET Core is faster than anything else on .NET.
Two files characterized the old ASP.NET applications—web.config and global.asax. Both are gone and replaced by alternative APIs. You’ll start with the new configuration API and in doing so we touch on the built-in dependency injection framework, error handling and JSON processing. Cookie-based authentication and authorization will complete the part of ASP.NET Core that is significantly different from the past and needs some learning.
You don’t strictly need to learn anything new to deal with MVC configuration and controllers whether to serve HTML views or JSON. We’ll discuss the slightly different internal architecture (model binding, action filters and action results changes) and also discuss Razor and tag helpers that significantly increase the expressiveness of Razor views. You’ll compare Web API before and after ASP.NET Core and best practices to secure APIs. Finally, a quick look at Blazor and Razor Pages will complete the workshop. All of the examples presented come from github and discussed in the book “Programming ASP.NET Core” from Microsoft Press 2018. You are welcome to clone the repository and run it locally. You only need any version of Visual Studio and, limited to the samples using data access, some form of SQL Server.