/// <summary> /// 发起业务请求 /// </summary> /// <typeparam name="Rs"></typeparam> /// <param name="request"></param> /// <param name="userName"></param> /// <returns></returns> public async Task <Rs> ExecuteAsync <Rs>(RqBase <Rs> request, string userName = null) where Rs : RsBase, new() { var restRequest = this.GetRestRequest(request, userName); var restResponse = await this.RestClient.ExecuteTaskAsync(restRequest).ConfigureAwait(false); return(this.GetResponse <Rs>(restResponse)); }
/// <summary> /// 发起业务请求 /// </summary> /// <typeparam name="Rs"></typeparam> /// <param name="request"></param> /// <param name="userName"></param> /// <returns></returns> public Rs Execute <Rs>(RqBase <Rs> request, string userName = null) where Rs : RsBase, new() { var restRequest = this.GetRestRequest(request, userName); var restResponse = this.RestClient.Execute(restRequest); return(this.GetResponse <Rs>(restResponse)); }
private IRestRequest GetRestRequest <Rs>(RqBase <Rs> request, string userName) where Rs : IResponse { if (!string.IsNullOrWhiteSpace(userName)) { request.UserName = userName; } var xml = XmlHelper.Serializer(request, encoding: this.RestClient.Encoding, showDeclaration: true, removeDefaultNameSpace: true); request.RequestContent = xml; var restRequest = new RestRequest(Method.POST); restRequest.AddParameter(new Parameter { Type = ParameterType.RequestBody, DataFormat = DataFormat.None, Value = xml, Name = "" }); return(restRequest); }