Book Links
- Chapter 1 - Introducing Apps and Services with .NET
- Chapter 1A - What's New in Modern C# and .NET
- Chapter 1B - Benchmarking Performance and Testing
- Chapter 1C - Observing and Modifying Code Execution Dynamically
- Chapter 2 - Managing Relational Data Using SQL Server
- Chapter 3 - Building Entity Models for SQL Server Using EF Core
- Chapter 4 - Managing NoSQL Data Using Azure Cosmos DB
- Chapter 4A - Managing NoSQL Data Using Azure Cosmos DB
- Chapter 5 - Multitasking and Concurrency
- Chapter 6 - Implementing Popular Third-Party Libraries
- Chapter 7 - Handling Dates, Times, and Internationalization
- Chapter 8 - Building and Securing Web Services Using Minimal APIs
- Chapter 9 - Caching, Queuing, and Resilient Background Services
- Chapter 10 - Building Serverless Nanoservices Using Azure Functions
- Chapter 11 - Broadcasting Real-Time Communication Using SignalR
- Chapter 12 - Combining Data Sources Using GraphQL
- Chapter 13 - Building Efficient Microservices Using gRPC
- Chapter 14 - Building Web User Interfaces Using ASP.NET Core
- Chapter 15 - Building Web Components Using Blazor
- Chapter 16 - Building Mobile and Desktop Apps Using .NET MAUI
- Epilogue
- Download Visual Studio for Windows
- Visual Studio for Windows documentation
- MSBuild and 64-bit Visual Studio 2022
- Download Visual Studio Code
- Set up Visual Studio Code
- Visual Studio Code user interface
- Visual Studio Code support for C#
- Visual Studio Code key bindings and shortcuts
- Stack Overflow survey 2021 - Integrated development environment
- Stack Overflow survey 2019 - Most Popular Development Environments
- GitHub Codespaces
- WebStorm and Rider Are Now Free for Non-Commercial Use
- JetBrains Rider
- Rider documentation
- Download .NET SDK
- Stack Overflow survey 2021 - Most loved frameworks and libraries
- Themes of .NET
- Official list of .NET 8 supported operating systems
- .NET Support Policy
- .NET versions
- .NET Uninstall Tool
- How to remove the .NET Runtime and SDK
- .NET Runtime
- .NET Release Schedule
- .NET Team Members
- State of Azure + .NET | .NET Conf 2022
- The Whirlwind Tour of Building .NET Apps in Azure | .NET Conf 2022
- Raise an issue with the book
- Microsoft Learn
- Official .NET Blog written by the .NET engineering teams
- Stack Overflow
- Google Advanced Search
- .NET Videos
- What's New in C# 11 | .NET Conf 2022
- Early peek at C# 11 features
- What's new in C# 11
- Welcome to C# 10
- What's new in C# 10
- What's new in C# 9
- What's new in C# 8
- What's new in C# 7.3
- Rosalyn and C# compiler versions
- Current status of the C# language
- Draft proposals for C# Language Specifications for 6.0 and later
- C# language versioning
- EPIC - .NET 6 C# project templates use latest language idioms #3359
- SDK support for implicit namespaces in C# projects #25066
- C# Reference
- C# Programming Guide
- C# Keywords
- Naming guidelines
- Types (C# Programming Guide)
- Statements (C# Programming Guide)
- Pattern matching overview
- Patterns (C# reference)
- C# 11
- C# 10
- C# 9
- C# 8
- C# 7.3
- C# 7.2
- C# 7.1
- C# 7.0
- C# 6.0
- Proposal: Required Properties #3630
- Proposal: Semi-Auto-Properties; field keyword #140
- Working Set (of proposals)
- .NET API Reference
- Compiler-generated display class
- Dynamically load assemblies that are not currently referenced
- Dynamically execute code
- Dynamically generate new code and assemblies
- Extending Metadata Using Attributes
- Source Generators
- Introducing C# Source Generators
- Source Generators Cookbook
- C# Source Generators: "A list of C# Source Generators (not necessarily awesome), because I haven't found a good list yet."
- Try SQL Server on-premises or in the cloud
- Download SQL Server Management Studio (SSMS)
- Quickstart: Connect and query a SQL Server instance using SQL Server Management Studio (SSMS)
- Quickstart: Connect and query an Azure SQL Database or an Azure Managed Instance using SQL Server Management Studio (SSMS)
- Use Visual Studio Code to create and run Transact-SQL scripts
- .NET Interactive with SQL!| .NET Notebooks in Visual Studio Code
- Dapper
- Dapper.AOT and How to make libraries compatible with native AOT - Dapper
- Announcing Entity Framework Core 6.0 Preview 4: Performance Edition
- Announcing Entity Framework Core 7 Preview 6: Performance Edition
- EF Core documentation
- New features in EF Core 8
- New features in EF Core 7
- New features in EF Core 6
- New features in EF Core 5
- Get to Know EF Core 6
- Plans for Entity Framework Core 6.0 revealed as Microsoft admits it is unlikely to match Dapper for performance
- Entity Framework Community Standup - Performance Tuning an EF Core App
- EF Core database providers
- Devart database providers
- Check the latest NuGet package version
- Document Database Providers for Entity Framework Core
- EF Core model conventions
- Data seeding
- Humanizer library
- Scaffolding
- Deep Dive into Many-to-Many: A Tour of EF Core 5.0
- Naming Conventions for Entity Framework Core Tables and Columns
- Table-per-concrete-type (TPC) inheritance mapping
- T4 goodness with Entity Framework Core 7 | .NET Conf 2022
- Welcome to Azure Cosmos DB
- Azure Cosmos DB .NET SDK v3 for SQL API: Download and release notes
- Data modeling in Azure Cosmos DB
- How to model and partition data on Azure Cosmos DB using a real-world example
- Getting started with SQL queries
- Azure Cosmos DB query cheat sheets
- Stored procedures, triggers, and user-defined functions
- Manage consistency levels in Azure Cosmos DB
- Create a container in Azure Cosmos DB SQL API
- Query an Azure Cosmos container
- Best practices for Azure Cosmos DB .NET SDK
- Diagnose and troubleshoot issues when using Azure Cosmos DB .NET SDK
- Migrate one-to-few relational data into Azure Cosmos DB SQL API account
- Frequently asked questions about different APIs in Azure Cosmos DB
- Thread pool
- Pros and cons of different ways to start tasks
- Events and thread-safety
- Stephen Cleary's thoughts on events and thread-safety
- Threads and threading
- Async in depth
- await (C# reference)
- Parallel Programming in .NET
- Overview of synchronization primitives
- Async streams tutorial
- Performance Improvements in .NET 7 | .NET Conf 2022
- ImageSharp
- Humanizer
- Serilog
- AutoMapper, a convention-based object-object mapper
- FluentValidation documentation
- Fluent Assertions - Introduction
- Modern .NET library for PDF document generation
- Date, Time, and Time Zone Enhancements in .NET 6
- .NET 6: Date and Time Structures
- Noda Time: A better date and time API for .NET
- Globalizing and localizing .NET applications
- Time zones
- Media types
- HTTP OPTIONS method and other HTTP methods
- HTTP POST requests
- Create web APIs with ASP.NET Core
- RESTful web API design
- Making the Most of Minimal APIs in .NET 7 | .NET Conf 2022
- Building modern high performance services with ASP.NET Core and .NET 7
- Endpoint routing
- Previous routing system
- Route constraints
- Dependency injection for ASP.NET Core
- Proposed standard for Problem Details for HTTP APIs
- Implementing problem details
- Design decisions around endpoint routing
- 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
- Native AOT deployment
- How to make libraries compatible with native AOT
- ASP.NET Core support for native AOT
- 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
- Built-in features for compliance with modern privacy requirements like GDPR
- ASP.NET Core's support for authenticator apps
- Identity UI library
- Authorization
- Anti-forgery tokens
- 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
- Overview of caching in ASP.NET Core
- Cache in-memory in ASP.NET Core
- Distributed caching in ASP.NET Core
- Distributed Redis Cache
- Redis C#/.NET guide
- Response caching in ASP.NET Core
- The Polly Project
- Resilience policies
- Retry with jitter
- Transient fault handling and proactive resilience engineering
- Resilience and chaos engineering
- Worker services in .NET
- Background tasks with hosted services in ASP.NET Core
- Implement the IHostedService interface
- Hangfire
- Quartz.NET
- Quartz.NET GitHub repository
- 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
- .NET 7 comes to Azure Functions & Visual Studio 2022
- Azure Functions
- Azure Functions documentation
- Azure serverless community library
- Building Serverless Applications with .NET 7 and Azure functions | .NET Conf 2022
- GraphQL
- HotChocolate - ChilliCream GraphQL Platform
- HotChocolate GitHub repository
- Getting started with GraphQL and HotChocolate
- Say hello to Hot Chocolate 12!
- gRPC
- gRPC - Architecting Cloud Native .NET Applications for Azure
- Introduction to gRPC on .NET
- Protocol Buffers
- ASP.NET Core gRPC for WCF Developers
- Introduction to HTTP/2
- High-performance services with gRPC: What's new in .NET 7 | .NET Conf 2022
- From RESTful HTTP API to gRPC | .NET Conf 2022
- Using CoreWCF to unblock modernization of WCF apps | .NET Conf 2022
- State of ASP.NET Core | .NET Conf 2022
- ASP.NET Core fundamentals
- Overview of ASP.NET Core MVC
- Free TLS/SSL certificates
- Razor syntax reference for ASP.NET Core
- HtmlHelper class
- Views in ASP.NET Core MVC
- Layout in ASP.NET Core
- Tag Helpers in ASP.NET Core
- Human-readable Razor views with ASP.NET 7 Tag Helpers | .NET Conf 2022
- ASP.NET Core Razor Pages with EF Core
- Registering a database context for use as a dependency service
- The
<partial>
tag helper - Why it is good to put <script> elements at the bottom of the
- Blazor
- Official list of supported Blazor platforms
- Blazor hosting models
- Blazor Hybrid apps
- What's new for Blazor in .NET 7 | .NET Conf 2022
- .NET ❤️’s WebAssembly in .NET 7 | .NET Conf 2022
- The reason for needing CSS isolation for Blazor components
- OI icons
- Forms and validation
- NavigationManager with Blazor routes
- Implementing offline support for Blazor WebAssembly projects
- Lazy loading assemblies
- Routing in Blazor Apps: Comparing the routing of popular web frameworks like React and Angular with Blazor
- Use .NET from any JavaScript app in .NET 7
- Testing Blazor Applications with Playwright | .NET Conf 2022
- CSS Techniques for Blazor Developers | .NET Conf 2022
- Awesome Blazor: A collection of awesome Blazor resources
- Blazor University: Learn the new .NET SPA framework from Microsoft
- Blazor - app building workshop: In this workshop, we will build a complete Blazor app and learn about the various Blazor framework features along the way
- Carl Franklin's Blazor Train
- Welcome to PACMAN written in C# and running on Blazor WebAssembly
- Sortable Lists for Blazor using a SortableJS Component
- State of .NET MAUI | .NET Conf 2022
- .NET Multi-platform App UI
- .NET Multi-platform App UI documentation
- .NET Multi-platform App UI (.NET MAUI) Support Policy
- What's new in .NET MAUI and Desktop Apps | .NET Conf 2022
- .NET Conf Focus on MAUI – That’s a wrap!
- .NET Podcasts - Sample Application
- .NET MAUI eBook Now Available – Enterprise Application Pattern
- Announcing .NET MAUI support for Xcode 14 and iOS 16
- Introducing .NET MAUI – One Codebase, Many Platforms
- Introducing .NET Multi-platform App UI
- Layouts
- Pages - ContentPage
- Add a splash screen to a .NET MAUI app project
- Inspect the visual tree of a .NET MAUI app
- Phone dialer
- Connect to local web services from Android emulators and iOS simulators
- .NET MAUI - Workshop
- Build mobile and desktop apps with .NET MAUI learning path
- Forums
- Building Windows apps with WinUI 3 with .NET | .NET Conf 2022
- Accelerate your WinUI 3 app with the Windows Community Toolkit | .NET Conf 2022
- OSS Spotlight - Build amazing cross-platform UI for .NET with Avalonia UI!
- MVVM is easier than ever before with Source Generators, .NET 7, and the MVVM Toolkit| .NET Conf 2022
- Create native desktop & mobile apps using web skills in Blazor Hybrid | .NET Conf 2022
- Host a Blazor web app in a .NET MAUI app using BlazorWebView
- Enterprise Application Patterns Using .NET MAUI
- CarouselView
- Display a menu bar in a .NET MAUI desktop app
- Xamarin.Essentials 1.7 and introducing .NET MAUI Essentials
- Platform integration
- Permissions
- Connectivity
- Device information
- Geolocation
- App actions
- File picker
- Media picker
- Clipboard
- Secure storage
- Modernize your WPF and Windows Forms application with Blazor | .NET Conf 2022
- Follow the Framework Design Guidelines
- Follow the code style rules
- Cloud-Native learning resources for .NET developers
- Mobile Development with .NET
- Enterprise Application Development with C# 10 and .NET 6
- Software Architecture with C# 10 and .NET 6
- An Atypical ASP.NET Core 6 Design Patterns Guide
- Customizing ASP.NET Core 6.0
- ASP.NET Core 5 Secure Coding Cookbook
- ASP.NET Core 5 and React
- ASP.NET Core 6 and Angular
- ASP.NET Core and Vue.js
- Practical Microservices with Dapr and .NET
- Web Development with Blazor
- Building Blazor WebAssembly Applications with gRPC
- Mastering Windows Presentation Foundation