Program.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. using System.Text.Json.Serialization;
  2. using System.Xml.Linq;
  3. using Hotline.Api;
  4. using Newtonsoft.Json;
  5. using RestSharp;
  6. using Serilog;
  7. using Tr.Sdk;
  8. Log.Logger = new LoggerConfiguration()
  9. .WriteTo.Console()
  10. .CreateBootstrapLogger();
  11. Log.Information("Hotline service is Starting up");
  12. //var a = "http://internal.ttf-cti.com:8080";
  13. ////var r = await a
  14. //// .AppendPathSegment("api/login")
  15. //// .SetQueryParams(new { username = "yscs", password = "123456" })
  16. //// .GetAsync();
  17. ////var h = r.Headers.FirstOrDefault(d => d.Name == "X-Auth-Token");
  18. //var p = new Pa { Phone = "13312341234", SpecialFlag = 4 };
  19. //var njp = Newtonsoft.Json.JsonConvert.SerializeObject(p);
  20. //var jp = System.Text.Json.JsonSerializer.Serialize(p);
  21. //FlurlHttp.GlobalSettings.JsonSerializer = new TrUrlEncodedSerializer();
  22. //var r1 = await a
  23. // .AppendPathSegment("api/special_phone/insert")
  24. // //.WithHeader(h.Name, h.Value)
  25. // .WithHeader("X-Auth-Token", "8352d42165d7cf6821e53e926d66adba54c309e6")
  26. // //.PostUrlEncodedAsync(new { phone = "13312341234", special_flag = 4 });
  27. // //.PostUrlEncodedAsync(p);
  28. // //.ConfigureRequest(s =>
  29. // //{
  30. // // s.JsonSerializer = new Tr.Sdk.TrUrlEncodedSerializer();
  31. // //})
  32. // .BeforeCall(d =>
  33. // {
  34. // var b = d.RequestBody;
  35. // var c = d.Request;
  36. // })
  37. // .PostUrlEncodedAsync(p);
  38. //var r2 = await r1;
  39. //var options = new RestClientOptions("http://internal.ttf-cti.com:8080");
  40. //var client = new RestClient(options);
  41. //client.AddDefaultHeader("X-Auth-Token", "8352d42165d7cf6821e53e926d66adba54c309e6");
  42. //var reqToken = new RestRequest("api/login")
  43. // .AddObject(new { username = "yscs", password = "123456" });
  44. ////var r1 = await client.GetAsync(reqToken);
  45. ////var h = r1.Headers.FirstOrDefault(d => d.Name == "X-Auth-Token");
  46. ////7a906970b1ce06a503807e75762da323782f4a29
  47. //var pa = new Pa
  48. //{
  49. // Phone = "13333333333",
  50. // SpecialFlag = 3
  51. //};
  52. //var reqAdd = new RestRequest("api/special_phone/insert", Method.Post)
  53. // //.AddObject(new { phone = "13312341234", special_flag = 4 });
  54. // .AddObject(pa);
  55. //var r2 = await client.PostAsync(reqAdd);
  56. try
  57. {
  58. var builder = WebApplication.CreateBuilder(args);
  59. builder.Host
  60. .ConfigureAppConfiguration((hostBuilderContext, configBuilder) =>
  61. {
  62. var path = Path.Combine(Directory.GetCurrentDirectory(), "config");
  63. configBuilder.SetBasePath(path)
  64. #if DEBUG
  65. .AddJsonFile("appsettings.shared.Development.json", true, true)
  66. #else
  67. .AddJsonFile("appsettings.shared.json", true, true)
  68. #endif
  69. .AddJsonFile("appsettings.json", false, true)
  70. .AddJsonFile($"appsettings.{hostBuilderContext.HostingEnvironment.EnvironmentName}.json", true, true)
  71. .AddEnvironmentVariables()
  72. .AddCommandLine(args)
  73. ;
  74. })
  75. .UseSerilog((ctx, lc) => lc
  76. //.WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level}] {SourceContext}{NewLine}{Message:lj}{NewLine}{Exception}{NewLine}")
  77. .Enrich.FromLogContext()
  78. .ReadFrom.Configuration(ctx.Configuration))
  79. ;
  80. builder
  81. .ConfigureServices()
  82. .ConfigurePipelines()
  83. .Run();
  84. }
  85. catch (Exception ex)
  86. {
  87. Log.Fatal(ex, "Unhandled exception");
  88. }
  89. finally
  90. {
  91. Log.Information("Shut down complete");
  92. Log.CloseAndFlush();
  93. }
  94. class Pa
  95. {
  96. //[JsonProperty(PropertyName = "phone")]
  97. //[JsonPropertyName("phone")]
  98. [RequestProperty(Name = "phone")]
  99. public string Phone { get; set; }
  100. //[JsonProperty(PropertyName = "special_flag")]
  101. //[JsonPropertyName("special_flag")]
  102. [RequestProperty(Name = "special_flag")]
  103. public int SpecialFlag { get; set; }
  104. }