Contents
Chapter 1: Introduction to ASP.NET Web API
Rage Against the SOAP: HTTP Makes a Comeback
ASP.NET Web API in Modern Architecture
ASP.NET Web API and Other Architectural Aspects
ASP.NET Web API and ASP.NET MVC
ASP.NET Web API and Transactions
ASP.NET Web API and API Governance
Provide Top-Notch Documentation
Provide Test Services, Logging, and Tracing Facilities for Consumers
Heavily Instrument, Benchmark, and Monitor Your API
Avoid Publishing Client Libraries if You Can
Chapter 2: Introduction to Asynchronous Programming in .NET
IIS Web Server and Asynchronous Processing
IIS Web Server Processing Architecture in a Nutshell
IIS and Server Configuration for High Concurrency
Where to Favor Asynchronous Programming
Old Asynchronous Programming Models in .NET
Asynchronous Programming Model (APM)
Event-based Asynchronous Pattern (EAP)
Task-Based Asynchronous Pattern (TAP)
Continuations, Errors, and Task Status
C# 5.0 Asynchronous Language Features
Chapter 3: HTTP, REST, and Hypermedia
Service Oriented Architectures and HTTP
Shifting to a RESTful Architecture
Commonalities: HTTP in ASP.NET Web API and HttpClient
Using ASP.NET Forms Authentication from HttpClient
Chapter 5: Sample Application: Application Structure and Domain Model
Application Features and Domain Language
Project Structure and Architecture
Brief Introduction to Entity Framework
Building Entity Objects and DbContext
Working with the Repository Pattern
Chapter 6: Sample Application: Building the Web API
Infrastructure of Our Web API Application
Implementing the Message Handler for Forcing HTTPS
Implementing the Message Handler for Basic Authentication
PingYourPackage.API.Model Project
Implementing the ShipmentsController
Implementing the AffiliateShipmentsController
Chapter 7: Sample Application: Building the Wrapper and Web Client
Building a .NET Wrapper for the HTTP API
PingYourPackage.API.Client Project
Integrating with WebApiDoodle.Net.Http.Client NuGet Package
Creating the ShipmentsClient and ShipmentTypesClient
Building a Web Client with ASP.NET MVC
PingYourPackage.API.Client.Web Project
Registering the Client Classes Through an IoC Container
Implementing the MVC Controller
Understanding Routing Mechanism
Having Multiple Web API Routes
Chapter 9: Controllers and Actions
Overview of HttpRoutingDispatcher
IHttpController Interface and Your Own Controller
ApiControllers: Out of the Box IHttpController Implementation
Per-Controller-Type Configuration
Overview and Message Handler Mechanism
Message Handlers and the Russian Doll Model
Registering Custom Message Handlers
Overview and Filter Processing Model
Default Filter Implementations
Action and Controller-Based Filters
Chapter 12: Media Type Formatters and Model Binding
FormUrlEncodedMediaTypeFormatter
JQueryMvcFormUrlEncodedFormatter
Involving Content Negotiation with MediaTypeMapping
A Custom Media Type Mapping: RouteDataMapping
How Validation Works Through Parameter Binding
Data Annotation Validation Attributes
MaxLengthAttribute and MinLengthAttribute
Creating Custom Validation Attributes
IValidatableObject Custom Validation
Chapter 14: Dependency Resolution
Key Inversion of Control Concepts
Registration and Lifetime Scope in Dependency Injection
Service Location in ASP.NET Web API
Dependency Resolution Model in ASP.NET Web API
A Typical Dependency Resolution Scenario
Understanding the Lifetime of the IDependencyResolver and IDependencyScope
IDependencyScope and HttpRequestMessage
Using DependencyResolver Implementations Available for ASP.NET Web API
Implementing DependencyResolver Model in DI Frameworks
Implementing DependencyResolver for AutoFac
Implementing DependencyResolver for Castle Windsor
Implementing DependencyResolver for Unity
Implementing DependencyResolver for NInject
Chapter 15: Unit Testing and Integration Testing
Unit Testing in ASP.NET Web API
Testing Delegating Handlers (Message Handlers)
Integration Testing and Automation
Integration Testing in ASP.NET Web API
Chapter 16: Optimization and Performance
ASP.NET Web API Asynchronous Actions
HTTP Specification for Caching
Applying HTTP Caching in ASP.NET Web API
Hypertext Transfer Protocol Stack
Hosting PingYourPackage Sample
Self-Hosting Example Scenarios
Why Should I Learn About OWIN?
Example: Web Hosting ASP.NET Web API in OWIN
Chapter 18: Tracing, Logging, and API Documentation
The Tracing Mechanisms in ASP.NET Web API
ITraceWrite Implementation Using NLog
Using ITraceWriter in User Code
Documenting an HTTP API by Hand
18.226.163.229