Host Message Handlers Controller Model Bindings Result
Conversion Action Method
Slide 7
Host Message Handlers Controller Model Bindings Result
Conversion Action Method
Slide 8
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
Slide 9
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
Slide 10
config.Formatters.Add(new MyCustomFormatter());
config.Services.Replace(typeof(IHttpActionSelector), new
MyActionSelector()); class MyCustomControllerConfig : Attribute,
IControllerConfiguration {}
Slide 11
Slide 12
Slide 13
DEMO
Slide 14
Slide 15
Slide 16
var cacheControl = new CacheControlHeaderValue();
cacheControl.MaxAge = TimeSpan.FromSeconds(300);
response.Headers.CacheControl = cacheControl;
Slide 17
Client sends a request Server adds ETag header to response
Client caches response with ETag
Slide 18
Client sends a request with ETag Server compares ETag to
resources version Identical Respond with HTTP 304 (Unmodified)
Different Respond with the updated resource and Etag Client caches
response with ETag