private ProjectResponse GetSr(MyProjectEntity project) { var uri = new Uri(project.InterfaceUrl); var query = uri.Query; if (string.IsNullOrEmpty(query)) { Log.Error("没有设置TA,project name:{0}", project.ProjectName); return(null); } var key = string.Format(CachePreFixFormat, project.Id); var result = _cacheManager.Get(key); if (result != null) { var cached = (ProjectResponse)result; if (cached.LastUpdateTime < project.UpdatedDate.GetValueOrDefault()) { _cacheManager.Remove(key); } else { return(cached); } } var view = new ProjectView { appId = project.AppId, appSignKey = project.SignKey, BUList = query.Split('=')[1] }; var signString = view.GetSignQueryString(); Log.Debug("need to sign {0}.", signString); view.sign = EncryptionHelper.Encryption(signString); var client = new HttpClient(); try { var parameter = view.GetQueryString(); var url = new UriBuilder(uri) { Query = parameter }; var responseString = client.GetStringAsync(url.ToString()).Result; var response = JsonConvert.DeserializeObject <ProjectResponse>(responseString); if (response.success) { response.LastUpdateTime = project.UpdatedDate.GetValueOrDefault(); _cacheManager.Get(key, () => response); return(response); } Log.Debug("获取sr返回失败,project name:{0}message:{1}", project.ProjectName, response.message); } catch (Exception e) { Log.Error(e, "get response error."); } return(null); }