原文地址: 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;
        }
    }
}
CustomClientMessageHandler.cs

相关文章: