/// <summary> /// 处理远程请求方法,并返回需要的实体 /// </summary> /// <typeparam name="T">需要返回的实体类型</typeparam> /// <param name="request">远程请求组件的request基本信息</param> /// <param name="funcFormat">获取实体格式化方法</param> /// <returns>实体类型</returns> public static T RestCommon <T>(OsHttpRequest request, Func <OsHttpResponse, T> funcFormat = null) where T : ResultMo, new() { T t = default(T); try { OsHttpResponse response = request.ExecuteSync(); if (response.ResponseStatus == ResponseStatus.Completed || response.ResponseStatus == ResponseStatus.ErrorButResponse) { if (funcFormat != null) { t = funcFormat(response); } else { t = JsonConvert.DeserializeObject <T>(response.Content); } if (!t.IsSuccess) { t.Message = GetErrMsg(t.Ret); } } } catch (Exception ex) { // ignored t = new T() { Ret = (int)ResultTypes.InnerError, Message = ex.Message }; LogUtil.Error(string.Concat("基类请求出错,错误信息:", ex.Message), "RestCommon", ModuleNames.SnsCenter); } return(t ?? new T() { Ret = 0 }); }