Course Overview

Mastering ASP.NET Web API is an HTTP programming model and toolset offered by Microsoft for building and consuming HTTP services that reach a broad range of clients, including web browsers, rich desktop clients and mobile devices.  ASP.NET Web API provides a platform for building RESTful applications using the .NET Framework.  REST (REpresenational State Transfer) is an architectural style for distributed applications based on principles and protocols of the World Wide Web, including HTTP (Hypertext Transfer Protocol), URI’s (Uniform Resource Identifiers), and media types (XML, JSON, JPEG, etc). Web API services leverage features which have made the Web successful, such as a broad set of standards, scalability, performance, and security.

Mastering ASP.NET WEB API provides developers with essential knowledge and skills needed to create and consume RESTful services built on sound architectural principles using Microsoft ASP.NET Web API with Visual Studio.  You’ll learn what distinguishes Web API from traditional SOAP-based solutions and how it compares with Windows Communication Foundation.  After exploring the basics of HTTP and the Web API processing architecture, you’ll learn about platform components, such as routing, controllers and actions, and how to build and version Web API services with different hosting options.  You’ll also learn how to construct robust web services which are secure, extensible and scalable, and which use dependency resolution for better maintainability and testability.

Mastering ASP.NET Web API can be customized to fit your company’s needs, with topics that align with the learning objectives of your team.

Key Learning Areas

  • Advantages and disadvantages of REST architectures compared with SOAP-based systems
  • Deep dive into the ASP.NET Web API processing pipeline
  • Build asynchronous services for greater flexibility and scalability
  • Self-Hosting using Windows Services
  • In-Memory hosting for unit testing
  • Web hosting with OWIN and Katana
  • Async message processing with HttpClient
  • Media type formatters and JSON serialization
  • Handling validation errors
  • TDD and BDD development with mocking framework
  • Writing tests for controllers, message handlers, action filters and routing configurations
  • Per-request tracing and asynchronous logging
  • HTTP-based versus token-based authentication
  • OAuth 2.0 Authorization Framework
  • Extensibility hooks and configuration options

Course Outline

  • REST Architecture
  • ASP.NET Web API Overview
  • Hosting
  • Client API
  • Serialization and Model Binding
  • Data Validation
  • Repository and Unit of Work Patterns
  • Dependency Resolution
  • Using Entity Framework with Web API
  • Testability and Testing
  • Transport Security and Authentication

Who Benefits

Mastering ASP.NET Web API will get you up to speed quickly and efficiently, preparing you to build and consume HTTP services that reach a broad range of clients, including web browsers, rich desktop clients and mobile devices.

Prerequisites

The expected audience for this course is developers who are experienced writing C# code using Microsoft Visual Studio.