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; } } }