123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- using Microsoft.Extensions.Caching.Memory;
- using Microsoft.Extensions.Options;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using Polly;
- using Polly.Timeout;
- using System;
- using System.Collections.Generic;
- using System.Globalization;
- using System.IO;
- using System.IO.Compression;
- using System.Linq;
- using System.Net;
- using System.Text;
- using System.Threading.Tasks;
- namespace Decompress
- {
- class Program
- {
- public enum ResponseState
- {
- Success = 0,
- Error = 1,
- Timeout = 2,
- }
- public class MyClass
- {
- public string Name;
- public string Description;
- }
- private static string _path = "./appsettings.json";
- public struct IecServerData
- {
- /// <summary>
- /// 数据类型 1遥测 2遥信
- /// </summary>
- public int dataType { get; set; }
- /// <summary>
- /// 装置地址
- /// </summary>
- public byte devAddr { get; set; }
- /// <summary>
- /// cpu扇区号
- /// </summary>
- public byte devCpu { get; set; }
- /// <summary>
- /// 信息体地址
- /// </summary>
- public int inf { get; set; }
- /// <summary>
- /// 遥测值
- /// </summary>
- public float ycValue { get; set; }
- /// <summary>
- /// 遥信值
- /// </summary>
- public int yxValue { get; set; }
- /// <summary>
- /// 时间
- /// </summary>
- public DateTime dateTime { get; set; }
- /// <summary>
- /// 装置名称
- /// </summary>
- public string devName { get; set; }
-
- }
- static async Task Main(string[] args)
- {
- DateTime time = default;
- var timeStr = string.Format("{0:d2}:{1:d2}:{2:d2}.{3:d3}", 1, 1, 1, 1);
- if (!DateTime.TryParse(timeStr, out time))
- {
- time = DateTime.Now;
- }
- await Console.Out.WriteLineAsync();
- List<IecServerData> list = new List<IecServerData>();
- var test = list.FirstOrDefault();
- Console.WriteLine();
- bool bFlag = true;
- var test100 = bFlag.ToString().ToLower();
- Console.WriteLine(bFlag.ToString());
- MemoryCache cache = new MemoryCache(Options.Create<MemoryCacheOptions>(new MemoryCacheOptions()));
- cache.Set("test", new MyClass() { Name = "guor", Description = "test" }, TimeSpan.FromSeconds(15));
- Task.Delay(2000).Wait();
- var obj1 = cache.Get("test");
- cache.Remove("test");
- Console.WriteLine(obj1);
- var x1 = DateTime.Now - TimeSpan.FromSeconds(6);
- if (x1 > DateTime.Now)
- {
- Console.WriteLine("cao");
- }
- var str = "D:\\ISAS\\Data\\SysAttachment\\Robot\\Robot01\\2021\\11\\18\\6df578e3a90b4a42ba331addc3c7b1c3\\CCD\\21_Robot01_20211118140205.jpg";
- var parh = Path.GetDirectoryName(str);
- Console.WriteLine(parh);
- return;
- DateTime dt = DateTime.ParseExact("202109", "yyyyMM", null, DateTimeStyles.AssumeLocal);
- Console.WriteLine(dt);
- using (StreamReader reader = File.OpenText(_path))
- {
- JObject obj = (JObject)JToken.ReadFrom(new JsonTextReader(reader));
- //var token = obj.SelectToken(key);
- //token.
- //obj.SelectToken(key) = value;
- obj["ServiceConfig"]["SubstationName"] = "test";
- Console.WriteLine();
- }
- return;
- var policy = Policy<HttpWebResponse>.Handle<Exception>()
- .FallbackAsync(c =>
- {
- ////熔断后再来个通知
- //Console.WriteLine("熔断完成,通知一下");
- return null;
- });
- //设置一个超时时间,里面加个回调函数给个提示
- var pTimeout = Policy.TimeoutAsync(5, TimeoutStrategy.Pessimistic,
- async (context, timespan, task) =>
- {
- Console.WriteLine("Timeout!");
- //throw new Exception("Timeout!");
- });
- var excPolicy = policy.WrapAsync(pTimeout);
- var response = await excPolicy.ExecuteAsync(async () =>
- {
- HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://localhost:4431/swagger/index.html");
- var result = await request.GetResponseAsync();
- return (HttpWebResponse)result;
- });
- using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
- {
- string rstStr = reader.ReadToEnd();
- try
- {
- //rstObj = JsonConvert.DeserializeObject<T>(rstStr);
- Console.WriteLine(rstStr);
- }
- catch
- {
- throw new Exception("请检查主站url是否正确!");
- }
- reader.Close();
- reader.Dispose();
- }
- Console.WriteLine("hello");
- Console.ReadLine();
- }
- public static void DecompressFileWithBrotli(string fileName)
- {
- FileStream inputStream = File.OpenRead(fileName);
- using (MemoryStream outputStream = new MemoryStream())
- using (var compressStream = new BrotliStream(inputStream, CompressionMode.Decompress))
- {
- compressStream.CopyTo(outputStream);
- outputStream.Seek(0, SeekOrigin.Begin);
- inputStream.Dispose();
- string filenameWithoutExtension = Path.GetFileNameWithoutExtension(fileName);
- FileStream fileStream = new FileStream(filenameWithoutExtension + ".xlsx", FileMode.OpenOrCreate);
- var bytes = new byte[outputStream.Length];
- outputStream.Read(bytes);
- fileStream.Write(bytes);
- }
- }
- }
- }
|