12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- 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<CheckData_info> poCheckDatas)
- {
- bool lbRetval = SysDataLibs.AppEnv.SysSetObj.GetString("DataPushApiSwith") == "Y";
- if (lbRetval)
- {
- Thread createPost = new Thread(
- () =>
- {
- string lcSzytUrl = SysDataLibs.AppEnv.SysSetObj.GetString("DataPushApiUrl");
- List<CheckData> loCheckDatas = Mapper.Map<List<CheckData>>(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;
- }
- }
- }
|