Video description
One of the greatest and most complete books about ASP.NET Core!
Delcoigne Vincent, Wavenet
Fully updated to ASP.NET 5.0, ASP.NET Core in Action, Second Edition is a hands-on primer to building cross-platform web applications with your C# and .NET skills. Even if you've never worked with ASP.NET you'll start creating productive cross-platform web apps fast.
about the technology
Build full-stack web applications that run anywhere. Developers love ASP.NET Core for its libraries and pre-built components that maximize productivity. Version 5.0 offers new features for server-side apps, as well as background services for cross-platform development.
about the book
ASP.NET Core in Action, Second Edition is a comprehensive guide to creating web applications with ASP.NET Core 5.0. Go from basic HTTP concepts to advanced framework customization. Illustrations and annotated code make learning visual and easy. Master logins, dependency injection, security, and more. This updated edition covers the latest features, including Razor Pages and the new hosting paradigm.
what's inside
- Developing apps for Windows and non-Windows servers
- Configuring applications
- Building custom components
- Logging, testing, and security
about the audience
For intermediate C# developers.
about the author
Andrew Lock is a Microsoft MVP who has worked with ASP.NET Core since before its first release.
The most comprehensive ASP.NET Core book on the market. It covers just about everything you need to learn to quickly become productive in the often confusing and fast-changing world of .NET Core.
Filip Wojcieszyn, Sonova AG
Fantastic book. The topics are explained clearly and thoroughly.
Luis Moux, EMO
A comprehensive reference for ASP.NET Core.
Jean-François Morin, Laval University
NARRATED BY JULIE BRIERLEY
Table of Contents
Part 1. Getting started with ASP.NET Core
Chapter 1. Getting started with ASP.NET Core
Chapter 1. What is ASP.NET Core?
Chapter 1. If you’re new to .NET development
Chapter 1. If you’re a .NET Framework developer creating a new application
Chapter 1. Converting an existing ASP.NET application to ASP.NET Core
Chapter 1. How does ASP.NET Core process a request?
Chapter 2. Your first application
Chapter 2. Creating your first ASP.NET Core application
Chapter 2. Running the web application
Chapter 2. The .csproj project file: Defining your dependencies
Chapter 2. The Startup class: Configuring your application
Chapter 2. Defining how requests are handled with middleware
Chapter 2. Handling request logic with PageModels and handlers
Chapter 3. Handling requests with the middleware pipeline
Chapter 3. Combining middleware in a pipeline
Chapter 3. Simple pipeline scenario 2: Handling static files
Chapter 3. Handling errors using middleware
Chapter 3. Handling other errors: StatusCodePagesMiddleware
Chapter 4. Creating a website with Razor Pages
Chapter 4. The MVC design pattern
Chapter 4. Applying the MVC design pattern to Razor Pages
Chapter 4. Applying the MVC design pattern to Razor Pages
Chapter 4. Razor Pages vs. MVC in ASP.NET Core
Chapter 4. When to choose MVC controllers over Razor Pages
Chapter 4. Returning responses with ActionResults
Chapter 5. Mapping URLs to Razor Pages using routing
Chapter 5. Routing in ASP.NET Core
Chapter 5. Convention-based routing vs. attribute routing
Chapter 5. Customizing Razor Page route templates
Chapter 5. Exploring the route template syntax
Chapter 5. Generating URLs from route parameters
Chapter 5. Generating URLs from other parts of your application
Chapter 5. Customizing conventions with Razor Pages
Chapter 6. The binding model: Retrieving and validating user input
Chapter 6. From request to model: Making the request useful
Chapter 6. Binding simple types
Chapter 6. Binding complex types
Chapter 6. Choosing a binding source
Chapter 6. Using DataAnnotations attributes for validation
Chapter 6. Validating on the client for user experience
Chapter 7. Rendering HTML using Razor views
Chapter 7. Creating Razor views
Chapter 7. Creating dynamic web pages with Razor
Chapter 7. Layouts, partial views, and _ViewStart
Chapter 7. Using partial views to encapsulate markup
Chapter 7. Selecting a view from an MVC controller
Chapter 8. Building forms with Tag Helpers
Chapter 8. Creating forms using Tag Helpers
Chapter 8. The Label Tag Helper
Chapter 8. The Select Tag Helper
Chapter 8. Generating links with the Anchor Tag Helper
Chapter 8. Using conditional markup with the Environment Tag Helper
Chapter 9. Creating a Web API for mobile and client applications using MVC
Chapter 9. Creating your first Web API project
Chapter 9. Applying the MVC design pattern to a Web API
Chapter 9. Attribute routing: Linking action methods to URLs
Chapter 9. Using common conventions with the [ApiController] attribute
Chapter 9. Generating a response from a model
Chapter 9. Choosing a response format with content negotiation
Part 2. Building complete applications
Chapter 10. Service configuration with dependency injection
Chapter 10. Understanding the benefits of dependency injection
Chapter 10. Creating loosely coupled code
Vhapter 10. Using the dependency injection container
Chapter 10. Registering services using objects and lambdas
Chapter 10. Injecting services into action methods, page handlers, and views
Chapter 10. Understanding lifetimes: When are services created?
Chapter 10. Singleton: There can be only one
Chapter 11. Configuring an ASP.NET Core application
Chapter 11. Building a configuration object for your app
Chapter 11. Using multiple providers to override configuration values
Chapter 11. Storing configuration secrets safely
Chapter 11. Using strongly typed settings with the options pattern
Chapter 11. Reloading strongly typed options with IOptionsSnapshot
Chapter 11. Configuring an application for multiple environments
Chapter 11. Setting the hosting environment
Chapter 12. Saving data with Entity Framework Core
Chapter 12. When should you choose EF Core?
Chapter 12. Adding EF Core to an application
Chapter 12. Managing changes with migrations
Chapter 12. Querying data from and saving data to the database
Chapter 12. Loading a single record
Chapter 12. Using EF Core in production applications
Chapter 13. The MVC and Razor Pages filter pipeline
Chapter 13. The Razor Pages filter pipeline
Chapter 13. Adding filters to your actions, controllers, Razor Pages, and globally
Chapter 13. Creating custom filters for your application
Chapter 13. Action filters: Customizing model binding and action results
Chapter 13. Exception filters: Custom exception handling for your action methods
Chapter 13. Page filters: Customizing model binding for Razor Pages
Chapter 13. Using dependency injection with filter attributes
Chapter 14. Authentication: Adding users to your application with Identity
Chapter 14. Authentication in ASP.NET Core: Services and middleware
Chapter 14. Authentication for APIs and distributed applications
Chapter 14. What is ASP.NET Core Identity?
Chapter 14. Creating a project that uses ASP.NET Core Identity
Chapter 14. The ASP.NET Core Identity data model
Chapter 14. Adding ASP.NET Core Identity to an existing project
Chapter 14. Customizing a page in ASP.NET Core Identity’s default UI
Chapter 14. Managing users: Adding custom data to users
Chapter 15. Authorization: Securing your application
Chapter 15. Authorization in ASP.NET Core
Chapter 15. Handling unauthorized requests
Chapter 15. Creating custom policies for authorization
Chapter 15. Controlling access with resource-based authorization
Chapter 15. Hiding elements in Razor templates from unauthorized users
Chapter 16. Publishing and deploying your application
Chapter 16. Running vs. publishing an ASP.NET Core app
Chapter 16. Publishing your app to IIS
Chapter 16. Hosting an application on Linux
Chapter 16. Preparing your app for deployment to Linux
Chapter 16. Configuring the URLs for your application
Chapter 16. Optimizing your client-side assets using BundlerMinifier
Chapter 16. Adding BundlerMinifier to your application
Chapter 16. Serving common files from a CDN
Part 3. Extending your applications
Chapter 17. Monitoring and troubleshooting errors with logging This chapter covers
Chapter 17. Adding log messages to your application
Chapter 17. Log category: Which component created the log
Chapter 17. Adding a new logging provider to your application
Chapter 17. Changing log verbosity with filtering
Chapter 17. Structured logging: Creating searchable, useful logs
Chapter 17. Using scopes to add additional properties to your logs
Chapter 18. Improving your application’s security
Chapter 18. Using the ASP.NET Core HTTPS development certificates
Chapter 18. Enforcing HTTPS for your whole app
Chapter 18. Defending against cross-site scripting (XSS) attacks
Chapter 18. Protecting from cross-site request forgery (CSRF) attacks
Chapter 18. Protecting from cross-site request forgery (CSRF) attacks
Chapter 18. Adding CORS to specific Web API actions with EnableCorsAttribute
Chapter 18. Avoiding SQL injection attacks with EF Core and parameterization
Chapter 18. Protecting your users’ passwords and data
Chapter 19. Using a third-party dependency injection container
Chapter 19. Building custom components
Chapter 19. Branching middleware pipelines with the Map extension
Chapter 19. Building a custom middleware component
Chapter 19. Creating simple endpoints with MapGet and WriteJsonAsync
Chapter 19. Handling complex configuration requirements
Chapter 20. Building custom MVC and Razor Pages components
Chapter 20. Creating a custom Tag Helper to conditionally hide elements
Chapter 20. View components: Adding logic to partial views
Chapter 20. Building a custom validation attribute
Chapter 20. Replacing the validation framework with FluentValidation
Chapter 20. Adding FluentValidation to your application
Chapter 21. Calling remote APIs with IHttpClientFactory
Chapter 21. Creating HttpClients with IHttpClientFactory
Chapter 21. Configuring named clients at registration time
Chapter 21. Creating a custom HttpMessageHandler
Chapter 22. Building background tasks and services
Chapter 22. Creating headless worker services using IHost
Chapter 22. Coordinating background tasks using Quartz.NET
Chapter 22. Using clustering to add redundancy to your background tasks
Chapter 23. Testing your application
Chapter 23. Unit testing with xUnit
Chapter 23. Adding Fact and Theory unit tests
Chapter 23. Unit testing custom middleware
Chapter 23. Integration testing: Testing your whole app in-memory
Chapter 23. Replacing dependencies in WebApplicationFactory
Chapter 23. Isolating the database with an in-memory EF Core provider
Appendix A. Preparing your development environment
Appendix B. Sharing code between projects
Appendix B. Understanding the .NET ecosystem
Appendix B. NET 5.0: The first step in the One .NET vision
Appendix B. Fudging .NET Standard 2.0 support with the compatibility shim