- Chapter 1 - Introducing Web Development with Controllers
- Chapter 2 - Building Websites Using ASP.NET Core MVC
- Chapter 3 - Model Binding, Validation, and Data Using EF Core
- Chapter 4 - Building and Localizing Web User Interfaces
- Chapter 5 - Authentication and Authorization
- Chapter 6 - Performance Optimization Using Caching
- Chapter 7 - Web User Interface Testing Using Playwright
- Chapter 8 - Configuring and Containerizing ASP.NET Core Projects
- Chapter 9 - Building Web Services Using ASP.NET Core Web API
- Chapter 10 - Building Web Services Using ASP.NET Core OData
- Chapter 11 - Building Web Services Using FastEndpoints
- Chapter 12 - Web Service Integration Testing
- Chapter 13 - Web Content Management Using Umbraco
- Chapter 14 - Customizing and Extending Umbraco
- Set up your development environment
- Kestrel server
- Dan Roth quote
- Dan Roth profile
- JetBrains report, The State of Developer Ecosystem 2023, ASP.NET Core question
- Almost 100,000 websites built using Umbraco
- Umbraco is open source and hosted on GitHub
- Central Package Management
- Northwind database SQL scripts
- Code Editors
- Download Visual Studio for Windows
- Sign up for a Microsoft account
- Visual Studio for Windows documentation
- MSBuild and 64-bit Visual Studio 2022
- GitHub Codespaces
- JetBrains Rider
- Rider documentation
- WebStorm and Rider Are Now Free for Non-Commercial Use
- Download .NET SDK
- The convenience of .NET
- What's new in .NET 9
- What's new in .NET 8
- .NET Support Policy
- .NET versions
- .NET Runtime
- .NET Release Schedule
The official announcement links are useful because they describe the most important new features in each release.
- State of ASP.NET Core | .NET Conf 2022
- Announcing ASP.NET Core in .NET 9
- Announcing ASP.NET Core in .NET 8
- Announcing ASP.NET Core in .NET 7
- ASP.NET Core 6.0 announcement
- ASP.NET Core 5.0 announcement
- Blazor WebAssembly announcement
- ASP.NET Core 3.1 announcement
- ASP.NET Core 3.0 announcement
- ASP.NET Core 2.2 announcement
- ASP.NET Core 2.1 announcement
- ASP.NET Core 2.0 announcement
- ASP.NET Core 1.1 announcement
- ASP.NET Core 1.0 announcement
- Microsoft Learn - Technical Documentation
- Official .NET Blog written by the .NET engineering teams
- Stack Overflow
- Google Advanced Search
- .NET Videos
- Microsoft Learn Shows – .NET Videos
- ASP.NET Core fundamentals
- Static files in ASP.NET Core
- HttpContext class
- Kestrel web server
- ASP.NET Core hosting environments
- Performance Improvements in ASP.NET Core 8
- Handle requests with controllers in ASP.NET Core MVC
- Model Binding in ASP.NET Core
- Create your own model binders by implementing the IModelBinder interface
- Model validation
- Tutorial: Get started with EF Core in an ASP.NET MVC web app
- DbContext Lifetime, Configuration, and Initialization
- Views in ASP.NET Core MVC
- Why it is good to put <script> elements at the bottom of the
- HtmlHelper class
- Razor syntax reference for ASP.NET Core
- Layout in ASP.NET Core
- Tag Helpers in ASP.NET Core
- The
<partial>
tag helper - VS Code Compact Folders feature
- What’s new with identity in .NET 8
- Built-in features for compliance with modern privacy requirements like GDPR
- Enable QR code generation for TOTP authenticator apps in ASP.NET Core
- Scaffold Identity in ASP.NET Core projects
- Introduction to authorization in ASP.NET Core
- Prevent Cross-Site Request Forgery (XSRF/CSRF) attacks in ASP.NET Core
- Content Delivery Network (CDN)
- Response caching
- Microsoft.AspNetCore.OutputCaching Namespace
- How cache busting using query strings works
- Playwright on GitHub
- Playwright website and documentation
- Selenium developer website
- Puppeteer developer website
- Playwright locators
- Playwright browsers
- Valid time zones for Chromium
- Playwright emulation
- Unit test controller logic in ASP.NET Core
- Filters for cross-concern functionality
- Free stock photos for commercial use with no attribution
- Simple examples of Run, Map, and Use
- Automatically visualize your endpoints
- Configuring the HTTP pipeline with middleware
- DEEP DIVE: HOW IS THE ASP.NET CORE MIDDLEWARE PIPELINE BUILT?
- Default configuration of web hosts
- Dependency injection for ASP.NET Core
- Configuring middleware
- Announcing YARP 1.0 Release
- Media types
- WS-* standards
- HTTP OPTIONS method and other HTTP methods
- HTTP POST requests
- Create web APIs with ASP.NET Core
- Design decisions around endpoint routing
- Endpoint routing
- Previous routing system
- Route constraints
- Proposed standard for Problem Details for HTTP APIs
- Implementing problem details
- REST Client
- It is the BaseAddress and DefaultRequestHeaders properties that you should treat with caution with multiple threads
- You're using HttpClient wrong and it is destabilizing your software
- How to initiate HTTP requests
- Issues with the original HttpClient class available in .NET
- HttpClient extension methods for easily working with JSON
- Swagger
- Swagger Tools
- Swashbuckle for ASP.NET Core
- How Swagger can support multiple versions of an API
- Importance of documenting services
- Benefits of setting version compatibility
- Check latest version of analyzers package
- Verifying that the tokens used to call your web APIs are requested with the expected claims
- CORS can be enabled to allow different origin requests
- Common HTTP security headers that you might want to add
- Health checks in ASP.NET Core
- How to extend the health check response
- How Polly can make your web services more reliable
- Use HttpClientFactory to implement resilient HTTP requests
- Redis
- Resilience and chaos engineering
- Dev Tunnels: A Game Changer for Mobile Developers
- OData - the best way to REST
- Welcome to OData
- OData reference
- OData DevBlog
- $compute and $search in ASP.NET Core OData 8
- The Future of OData NxT (Neo)
- API versioning extension with ASP.NET Core OData 8
- TechEmpower benchmarks
- Official documentation for FastEndpoints
- OpenAPI support for FastEndpoints
- FastEndpoints recommends xUnit, WebApplicationFactory, and FluentAssertions for unit and integration testing
- FastEndpoints tutorial
- ASP.NET Core team uses xUnit
- Unit testing framework comparisons
- Moq controversy 1
- Moq controversy 2
- Moq controversy 3
- NSubstitue
- FakeItEasy
- NSubstitute NuGet package
- FluentAssertions NuGet package
- FluentAssertions
- Bogus NuGet package
- xUnit
- xUnit packages
- nunit
- MS Test
- Introducing MSTest SDK – Improved Configuration & Flexibility
- Umbraco CMS documentation
- Umbraco CMS Editor’s Manual
- Umbraco versions and support
- Umbraco requirements
- Umbraco CMS NuGet package
- Umbraco default data types
- Umbraco Rich Text Editor
- TinyPNG
- ImageOptim
- Scheduled publishing
- Dictionary items for translating text into different languages
- Relations for structuring the content tree