private RequestResult Request(HttpWebRequest httpWebRequest, string url, string urlContent) { RequestResult result; bool flag = false; Label_0002: result = new RequestResult(); HttpWebResponse response = null; Stream responseStream = null; StreamReader reader = null; result.IsError = true; try { if (!string.IsNullOrWhiteSpace(urlContent) && !flag) { flag = true; byte[] bytes = Encoding.UTF8.GetBytes(urlContent); httpWebRequest.Method = "POST"; httpWebRequest.ContentLength = bytes.Length; using (Stream stream2 = httpWebRequest.GetRequestStream()) { stream2.Write(bytes, 0, bytes.Length); stream2.Close(); } } Logger.Info("强制更新s-HR数据:请求", this.Url + url, true); Logger.Info("强制更新s-HR数据:请求内容", urlContent, true); response = httpWebRequest.GetResponse() as HttpWebResponse; responseStream = response.GetResponseStream(); reader = new StreamReader(responseStream); string str = reader.ReadToEnd(); Logger.Info("强制更新s-HR数据:返回值", str, true); result.IsError = false; result.Content = str; } catch (Exception exception) { Logger.Error("强制更新s-HR数据", this.Url + url, exception); StringBuilder builder = new StringBuilder(); MainWorker.BuildExceptionMessage(exception, builder); result.Content = builder.ToString(); } finally { if (reader != null) { reader.Close(); } if (responseStream != null) { responseStream.Close(); } if (response != null) { response.Close(); } } string content = result.Content; if ((result.IsError || string.IsNullOrWhiteSpace(content)) || ((content.Contains("window.logoutHR") || content.Contains("id=\"loginForm\"")) || content.Contains("{\"sucess\":\"false\",\"msgCode\":\"500\",\"errorMsg\":\"session 已失效\"}"))) { if (this.errorRequest < 3) { Thread.Sleep(0x3e8); this.errorRequest++; if (((string.IsNullOrWhiteSpace(content) || content.Contains("window.logoutHR")) || (content.Contains("id=\"loginForm\"") || content.Contains("{\"sucess\":\"false\",\"msgCode\":\"500\",\"errorMsg\":\"session 已失效\"}"))) && !this._isLogin) { this.Login(); } goto Label_0002; } this.errorRequest = 0; result.IsError = true; } return(result); }