原文地址: http://www.asp.net/web-api/overview/web-api-clients/httpclient-message-handlers
using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Text; using System.Threading.Tasks; namespace Test.WebAPI.Client { public class CustomClientMessageHandler : DelegatingHandler { private int count = 0; protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) { count++; Console.WriteLine(count); var response = await base.SendAsync(request, cancellationToken); if (!response.IsSuccessStatusCode) { Console.WriteLine("{0}\t{1}\t{2}", request.RequestUri, (int)response.StatusCode, response.Headers.Date); } return response; } } }