예제 #1
0
 private IEnumerable<string> GetChains(DelegatingHandler handler)
 {
     yield return handler.GetType().FullName;
     var innerHander = handler.InnerHandler as DelegatingHandler;
     if (innerHander != null)
     {
         yield return innerHander.GetType().FullName;
     }
 }
 /// <summary>
 /// 获得MyHttpServer牵头的HttpMessageHandler链
 /// </summary>
 /// <param name="handler"></param>
 /// <returns></returns>
 private IEnumerable<string> GetHandlerChain(DelegatingHandler handler)
 {
     yield return handler.GetType().Name;
     while (null != handler.InnerHandler)
     {
         yield return handler.InnerHandler.GetType().Name;
         handler = handler.InnerHandler as DelegatingHandler;
         if (null == handler)
         {
             break;
         }
     }
 }