Improving .NET Core 2 MVC Apps Using Extension Points
.NET Core is a new platform that brings even greater extensibility to the already flexible MVC framework. This course will explore how to leverage those extension points, and customize components of MVC to meet the evolving needs of your projects.
What you'll learn
As you grow comfortable building MVC apps with .NET Core, you’ll quickly want to go further. Instead of just using MVC, you’ll want to control and customize its features and conventions. In this course, Improving .NET Core 2 MVC Apps Using Extension Points, you'll learn how to adapt the framework to your project requirements, rather than limiting your vision to work within its default constraints. First, you'll learn how to extend or build custom versions of components like Tag Helpers, View Components, Filters, and more. Next, you'll explore customizing how incoming data is handled, and how outgoing response data is generated. Finally, you'll discover how to modify the internal behaviors of MVC by customizing Action Method Selection, the Application Model, and the Middleware pipeline. By the end of this course, you’ll know how to extend or adapt MVC to the needs of your project, and take your skills to the next level.
Table of contents
- Exploring UI Enhancement Opportunities 2m
- Tag Helper Essentials 3m
- Working with Custom Tag Helpers 4m
- Demo: Creating a Simple Tag Helper 5m
- Demo: Building a Data Driven Tag Helper 5m
- Demo: Working with Attribute Tag Helpers 3m
- Managing Complex Layouts 3m
- Working with View Components 2m
- Demo: Creating a Custom View Component 4m
- Demo: Improving Layouts Using Reusable Components 2m
- Summary 1m
- The Need for Filters 3m
- Understanding Action and Result Filters 3m
- Demo: Working with Action Filters 6m
- Working with Exception Filters 2m
- Demo: Improving Error Handling with Exception Filters 4m
- Exploring Authorization Filters 3m
- Demo: Feature Switches with Authorization Filters 3m
- Introducing Resource, Type, and Service Filters 3m
- Exploring Type and Service Filter Differences 3m
- Demo: Dependency Injection with Type Filters 5m
- Summary 1m
- Exploring Custom Validation Requirements 3m
- Customizing Validation in MVC 3m
- Demo: Custom Property Validation with Attributes 4m
- Demo: Implementing Cross Property Model Validation 5m
- Exploring Model Binding in Depth 4m
- Model Binding Customization Options 3m
- Custom Model Binding Scenarios 2m
- Demo: Handling Bad Data with a Custom Binder 6m
- Summary 1m
- Opportunities to Enhance Application Responses 2m
- Understanding View Engines 2m
- Extending the Razor View Engine 2m
- Demo: Adding Themes with View Location Expanders 4m
- Demo: Enhancing the View Location Expander 4m
- Exploring Action Results 2m
- Extending and Customizing Action Results 3m
- Demo: Creating a Custom Action Result 5m
- Summary 1m
- Action Method Selection Challenges 1m
- Use Cases for Extending Routing 2m
- Understanding Route Constraints 3m
- Demo: Creating a Custom Route Constraint 5m
- API Versioning Essentials 2m
- Demo: Simple Versioning with Constraints 5m
- Understanding Action Constraints 2m
- Exploring Action Constraint Use Cases 1m
- Demo: Creating a Custom Action Constraint 4m
- Summary 1m
- Introducing the Application Model 3m
- Extending the Application Model 3m
- Demo: Changing Controller Naming Conventions 4m
- Demo: Influencing Parameter Binding Conventions 4m
- Versioning with Model Conventions 2m
- Demo: Preparing the Controllers for Versioning 3m
- Demo: Creating a Controller Versioning Convention 4m
- Summary 1m