Host Message Handlers Controller Model Bindings Result Conversion Action Method
Host Message Handlers Controller Model Bindings Result Conversion Action Method
Host Message Handlers Controller Model Bindings Result Conversion Action Method Delegating Handler Message Handlers Controller Dispatcher HTTP Response Message Routing Dispatcher HTTP Request Message x
Authorization Filters Action Filters Exception Filters Action Method Model Bindings Executing Executed Action Invoker Exception HTTP Response Message Controller Host Message Handlers Controller Model Bindings Result Conversion Action Method Authentication Filters x x
config.Formatters.Add(new MyCustomFormatter()); config.Services.Replace(typeof(IHttpActionSelector), new MyActionSelector()); class MyCustomControllerConfig : Attribute, IControllerConfiguration {…}
DEMO
var cacheControl = new CacheControlHeaderValue(); cacheControl.MaxAge = TimeSpan.FromSeconds(300); response.Headers.CacheControl = cacheControl;
Client sends a request Server adds ETag header to response Client caches response with ETag
Client sends a request with ETag Server compares ETag to resource’s version Identical Respond with HTTP 304 (Unmodified) Different Respond with the updated resource and Etag Client caches response with ETag
DEMO
HTTP Extensibility ErrorHandling Security