/// <summary>
        /// 触发服务降级事件
        /// </summary>
        /// <param name="request"></param>
        /// <param name="delegate"></param>
        /// <param name="serviceResolveFailException"></param>
        /// <returns></returns>
        bool InvokeFallbackRequestPipeline(FeignClientHttpRequest request, Delegate @delegate, ServiceResolveFailException serviceResolveFailException)
        {
            IFallbackProxy fallbackProxy = @delegate.Target as IFallbackProxy;
            FallbackRequestEventArgs <TService> eventArgs;

            if (fallbackProxy == null)
            {
                //可能因为method parameters length=0 , 故没有生成匿名调用类
                eventArgs = new FallbackRequestEventArgs <TService>(this, request, Fallback, null, @delegate.Method);
            }
            else
            {
                eventArgs = new FallbackRequestEventArgs <TService>(this, request, Fallback, fallbackProxy, null);
            }
            OnFallbackRequest(eventArgs);
            return(eventArgs.IsTerminated);
        }
예제 #2
0
        bool InvokeFallbackRequestPipeline(FeignClientRequest request, Delegate @delegate)
        {
            IFallbackProxy           fallbackProxy = @delegate.Target as IFallbackProxy;
            FallbackRequestEventArgs eventArgs;

            if (fallbackProxy == null)
            {
                //可能因为method parameters length=0 , 故没有生成匿名调用类
                eventArgs = new FallbackRequestEventArgs(this, request, _fallback, null, @delegate.Method);
            }
            else
            {
                eventArgs = new FallbackRequestEventArgs(this, request, _fallback, fallbackProxy, null);
            }
            OnFallbackRequest(eventArgs);
            return(eventArgs.IsTerminated);
        }
 protected internal virtual void OnFallbackRequest(FallbackRequestEventArgs <TService> e)
 {
     _serviceFeignClientPipeline?.OnFallbackRequest(this, e);
     _serviceIdFeignClientPipeline?.OnFallbackRequest(this, e);
     _globalFeignClientPipeline?.OnFallbackRequest(this, e);
 }
 protected internal override void OnFallbackRequest(FallbackRequestEventArgs e)
 {
     _serviceTypeFeignClientPipeline?.OnFallbackRequest(this, e);
     base.OnFallbackRequest(e);
 }