using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Text; using System.Threading; using AutoMapper; using Newtonsoft.Json; using SysBaseLibs; using SysDataLibs.TableClass; namespace DataTransfersLibs { public static class DataTransfersPush { public static void DataPush(this List poCheckDatas) { bool lbRetval = SysDataLibs.AppEnv.SysSetObj.GetString("DataPushApiSwith") == "Y"; if (lbRetval) { Thread createPost = new Thread( () => { string lcSzytUrl = SysDataLibs.AppEnv.SysSetObj.GetString("DataPushApiUrl"); List loCheckDatas = Mapper.Map>(poCheckDatas); string lcDataStr = JsonConvert.SerializeObject(loCheckDatas); //HttpPost(lcSzytUrl, lcDataStr); typeof(DataTransfersPush).LogInfo("数据推送START:" + lcDataStr); typeof(DataTransfersPush).LogInfo("数据推送END:" + HttpPost(lcSzytUrl, lcDataStr)); }); createPost.Start(); } } private static string HttpPost(string pcUrl, string pcDataStr) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(pcUrl); request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = Encoding.UTF8.GetByteCount(pcDataStr); byte[] data = Encoding.UTF8.GetBytes(pcDataStr); request.ContentLength = data.Length; Stream newStream = request.GetRequestStream(); newStream.Write(data, 0, data.Length); newStream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream res = response.GetResponseStream(); StreamReader resReader = new StreamReader(res ?? throw new InvalidOperationException(), Encoding.GetEncoding("utf-8")); string retString = resReader.ReadToEnd(); resReader.Close(); res.Close(); return retString; } } }