What this book covers
Chapter 1, Introducing Web Development with Controllers, is about introducing you to mature and proven web development with .NET. This means a set of technologies that have been refined over a decade or more with plenty of documentation, support forums, and third-party investment, including ASP.NET Core Model-View-Controller (MVC), Web API services using controllers and OData, and popular frameworks like Umbraco CMS.
Chapter 2, Building Websites Using ASP.NET Core MVC, introduces building websites with a modern HTTP architecture on the server side using ASP.NET Core MVC, including the models, views, and controllers that make up the main components of an ASP.NET Core MVC project, and how to use Bootstrap for quick user interface prototyping.
Chapter 3, Model Binding, Validation, and Data Using EF Core, covers model binding, model validation, and retrieving and modifying data using EF Core in an ASP.NET Core MVC website project. These concepts work together to simplify the common tasks of taking user input, processing it, and storing or retrieving data from a database.
Chapter 4, Building and Localizing Web User Interfaces, is about building web user interfaces with ASP.NET Core in more depth. You will learn more details about ASP.NET Core MVC views, Razor syntax, HTML and Tag Helpers, and how to internationalize your website so that its user interface is understandable all over the world.
Chapter 5, Authentication and Authorization, discusses authentication and authorization and how to implement them for an ASP.NET Core MVC website project. This means how to provide a web user interface for a visitor to register an account with a password, and how they can log in to access secure areas of the website.
Chapter 6, Performance Optimization Using Caching, explains optimizing the performance and scalability of your websites and web services by using caching of various types.
Chapter 7, Web User Interface Testing Using Playwright, introduces you to web user interface testing and how to use Microsoft Playwright to write automated tests for web user interfaces.
Chapter 8, Configuring and Containerizing ASP.NET Core Projects, discusses configuring and containerizing ASP.NET Core projects.
Chapter 9, Building Web Services Using ASP.NET Core Web API, covers learning how to build web services, AKA HTTP (Hypertext Transfer Protocol) or Representational State Transfer (REST) services using ASP.NET Core Web API with controllers. You will then learn how to consume web services using HTTP clients, which could be any other type of .NET app, including a website, mobile, or desktop app.
Chapter 10, Building Web Services Using ASP.NET Core OData, explains OData, a standard that makes it easy to expose data via the web to make it accessible to any client that can make an HTTP request.
Chapter 11, Building Web Services Using FastEndpoints, teaches you about building web services using FastEndpoints, a popular third-party package that shuns controllers in favor of a more efficient way of defining the web service endpoints.
Chapter 12, Web Service Integration Testing, introduces you to testing your web services. Unit tests are good at detecting errors in business logic in a class or method, but you also need to verify that larger parts of your codebase work together with each other and external systems. This is where integration testing becomes important for web services.
Chapter 13, Web Content Management Using Umbraco, is about building ASP.NET Core website projects that integrate with Umbraco CMS, a popular third-party web content management system.
Chapter 14, Customizing and Extending Umbraco, introduces customizing and extending Umbraco CMS.
Epilogue describes your options for further study about .NET web development.
Appendix, Answers to the Test Your Knowledge Questions, has the answers to the test questions at the end of each chapter. You can access this appendix as part of the supplementary content package available at: https://packt.link/supplementary-content-9781835880388 (instructions available at the end of the Preface and the book).