Explore the various ways in which you can pass parameters to action methods in ASP.NET Core MVC
Take advantage of API Analyzers and Swagger to improve the documentation of your ASP.NET Core APIs
Take advantage of data tokens in ASP.NET Core to attach additional information to a route and retrieve it programmatically when needed
Take advantage of ValueTask in C# to avoid allocation when returning task objects from an asynchronous method
Learn the importance of immutability and how to take advantage of it in your C# applications
Take advantage of API versioning in ASP.NET Core to manage the impact of changes to your APIs on your clients
Learn the benefits of Data Transfer Objects, why they should be immutable, and how to take advantage of them in your ASP.NET Core applications
Understand the similarities and differences between the const, readonly, and static keywords in C#
Take advantage of ASP.NET Core middleware to handle 404 errors more gracefully in ASP.NET Core MVC
Take advantage of dependency injection to make your action methods in ASP.NET Core lean, clean, and maintainable
Take advantage of data annotations to decorate your models using attribute tags so that your application’s data definition can be managed in a single place.
Take advantage of the options pattern to load configuration data directly into your classes at runtime for simple and flexible configuration data management
Learn how to implement endpoint routing in ASP.NET Core 3.0 MVC to bring more flexibility and functionality to your applications
Take advantage of GUIDs to create universally unique identifiers and avoid data collisions in your applications
Learn how to use the ClosedXML NuGet package to export data as a CSV or XLSX file for Excel from an ASP.NET Core application.
Take advantage of anonymous types in C# to create and instantiate types that have read-only properties without having to declare the type beforehand
Take advantage of high-performance logging by using LoggerMessage instead of Logger extension methods in ASP.NET Core
Take advantage of the open source MailKit library to send emails in ASP.NET Core easily.
Take advantage of indices and ranges in C# 8.0 to access elements or slices of a collection with simplicity and ease
Take advantage of the open source library Serilog to log your ASP.NET Core application’s data to SQL Server or another database target.
Take advantage of the ability to create and consume data streams asynchronously in C# 8.0 to improve the performance of your applications.
Take advantage of a Quartz.NET hosted service to schedule background jobs in your ASP.NET Core application.
Take advantage of ValueTuples to return multiple values from a method with better performance than Tuples.
Take advantage of the inversion of control pattern to loosely couple the components of your application and make them easier to test and maintain.
Learn the three ways you can return data from your ASP.NET Core Web API action methods.
Take advantage of pattern matching improvements in C# 8.0 to write code that is more readable, maintainable, and efficient
Take advantage of lambda expressions in C# to add flexibility and power to the anonymous methods in your application.
Take advantage of projections in C# to transform an object into a new form that has only the properties you need.
Take advantage of FormatFilterAttribute in ASP.NET Core to format response data based on the request URL.
Take advantage of the flyweight design pattern to reduce memory consumption when working with many similar objects.
Take advantage of the simple and easy RestSharp library to consume RESTful services in ASP.NET Core
Take advantage of the async methods in Dapper to improve the scalability and performance of your ASP.NET Core applications.
Take advantage of feature flags to easily enable and disable features in your application without changing its codebase.
Take advantage of default interface methods in C# 8.0 to add new methods to an interface without breaking existing implementations.
Exception handling is different for asynchronous code. Learn the exception handling semantics for asynchronous methods in C#.
Take advantage of the FromServices attribute in ASP.NET Core to inject dependencies directly into your action methods.
Take advantage of cookies to store and retrieve user-specific information in your ASP.NET Core web application.
Take advantage of the static files middleware in ASP.NET Core to serve HTML, CSS, JavaScript, and images to the client.
Take advantage of URL Rewriting Middleware in ASP.NET Core to implement URL redirection and URL rewriting.
Take advantage of channels to implement the fast, efficient, asynchronous producer-consumer pattern in .NET Core.
Take advantage of rate limiting in ASP.NET Core to prevent malicious attacks on your web application.
Take advantage of Application Insights to monitor performance and detect and diagnose performance issues in your web application.
Take advantage of the free and flexible NLog to log your application data with the features and efficiency you need.
Learn to handle runtime errors using exceptions and return appropriate error codes and error messages in ASP.NET Web API.
Take advantage of global exception handling to avoid writing scads of boilerplate exception handling code in ASP.NET Core MVC.
Learn to change the default behavior and return HTTP 404 when action methods in ASP.NET Core return null values.
Take advantage of API versioning in ASP.NET Core to maintain multiple versions of the same API.
Learn how to use the new template available in ASP.NET Core 3.0 to build a worker service.
Take advantage of the easy-to-use cryptographic API in ASP.NET Core to secure sensitive data in your applications.
Take advantage of advanced operations such as conditional branching when working with middleware in ASP.NET Core.