private HttpResponseMessage GetResponseMessage(FeignClientHttpRequest request) { try { return(SendAsyncInternal(request).GetResult()); } catch (TerminatedRequestException) { if (IsResponseTerminatedRequest) { return(null); } throw; } catch (ServiceResolveFailException) { throw; } catch (Exception ex) { #region ErrorRequest ErrorRequestEventArgs <TService> errorArgs = new ErrorRequestEventArgs <TService>(this, ex); OnErrorRequest(errorArgs); if (errorArgs.ExceptionHandled) { return(null); } #endregion throw; } }
private async Task <HttpResponseMessage> GetResponseMessageAsync(FeignClientHttpRequest request) { try { return(await SendAsyncInternal(request) #if CONFIGUREAWAIT_FALSE .ConfigureAwait(false) #endif ); } catch (TerminatedRequestException) { if (IsResponseTerminatedRequest) { return(null); } throw; } catch (ServiceResolveFailException) { throw; } catch (Exception ex) { #region ErrorRequest ErrorRequestEventArgs <TService> errorArgs = new ErrorRequestEventArgs <TService>(this, ex); OnErrorRequest(errorArgs); if (errorArgs.ExceptionHandled) { return(null); } #endregion throw; } }
private async Task <HttpResponseMessage> GetResponseMessageAsync(FeignClientRequest request) { try { return(await SendAsyncInternal(request)); } catch (TerminatedRequestException) { if (IsResponseTerminatedRequest) { return(null); } throw; } catch (Exception ex) { #region ErrorRequest ErrorRequestEventArgs errorArgs = new ErrorRequestEventArgs(this, ex); OnErrorRequest(errorArgs); if (errorArgs.ExceptionHandled) { return(null); } #endregion throw; } }
public void ShouldPopulateLastError() { var exception = new Exception("Some message"); var args = new ErrorRequestEventArgs(exception, null); Assert.AreEqual(exception, args.LastError); }
/// <summary> /// 服务端解析异常事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void commisrv_ErrorHandle(object sender, ErrorRequestEventArgs e) { if (null == e) { return; } NameValueCollection data = new NameValueCollection(); try { if (null != e.Client && null != e.Client.RemoteEndPoint) { data["客户端"] = e.Client.RemoteEndPoint.ToString(); } } catch { } data["类型"] = "服务端异常"; if (null != e.Exception) { LogMessage(e.Exception, data, EventLogEntryType.Error); } }
async Task <HttpResponseMessage> GetResponseMessageAsync(Func <Task <HttpResponseMessage> > action) { try { return(await action()); } catch (Exception ex) { #region ErrorRequest ErrorRequestEventArgs errorArgs = new ErrorRequestEventArgs(this, ex); _globalFeignClientPipeline.GetServicePipeline(this.ServiceId)?.OnErrorRequest(this, errorArgs); if (!errorArgs.ExceptionHandled) { _globalFeignClientPipeline?.OnErrorRequest(this, errorArgs); } if (errorArgs.ExceptionHandled) { return(null); } #endregion throw; } }
protected internal virtual void OnErrorRequest(ErrorRequestEventArgs <TService> e) { _serviceFeignClientPipeline?.OnErrorRequest(this, e); _serviceIdFeignClientPipeline?.OnErrorRequest(this, e); _globalFeignClientPipeline?.OnErrorRequest(this, e); }
protected internal override void OnErrorRequest(ErrorRequestEventArgs e) { _serviceTypeFeignClientPipeline?.OnErrorRequest(this, e); base.OnErrorRequest(e); }