gongqiuhong 1 yıl önce
ebeveyn
işleme
2969370318

+ 4 - 4
XdCxRhDW.App/CorTools/DetectToolForm.cs

@@ -83,13 +83,13 @@ namespace XdCxRhDW.App.CorTools
             DetectDto dto = new DetectDto();
             dto.dmcType = dmcType;
             layoutControl1.Enabled = false;
-            await Task.Run(() =>
+            await Task.Run(async () =>
             {
                 try
                 {
                     dto.file1 = HttpHelper.UploadFile(btnFile1.Text, baseUrl + "File/UploadFileAsync");
                     dto.fsHz = double.Parse(tefs.Text) * 1e6;
-                    var dmcResult = HttpHelper.PostRequest<IEnumerable<DetectResDto>>(baseUrl + "DetectCg/DetectCalc", dto);
+                    var dmcResult =await HttpHelper.PostRequestAsync<IEnumerable<DetectResDto>>(baseUrl + "DetectCg/DetectCalc", dto);
                     if (dmcResult.code == 200)
                     {
                         gridSource.Clear();
@@ -121,7 +121,7 @@ namespace XdCxRhDW.App.CorTools
             List<XcorrStruct> xcorrs = new List<XcorrStruct>();
             XcorrStruct xItem = new XcorrStruct();
             layoutControl1.Enabled = false;
-            await Task.Run(() =>
+            await Task.Run(async () =>
             {
                 try
                 {
@@ -164,7 +164,7 @@ namespace XdCxRhDW.App.CorTools
                 {
                     try
                     {
-                        var result = HttpHelper.PostRequest<CpuCgResDto>(baseUrl + "DetectCg/CpuCgCalc", xcitem);
+                        var result = await HttpHelper.PostRequestAsync<CpuCgResDto>(baseUrl + "DetectCg/CpuCgCalc", xcitem);
                         if (result.code==200)
                         {
                             gridSource.Add(new CafResult()

+ 2 - 2
XdCxRhDW.App/CorTools/XlCalculateForm.cs

@@ -98,7 +98,7 @@ namespace XdCxRhDW.App.CorTools
                     {
                         string url = string.Format("http://{0}:{1}/Api/Xl/CalcMult", IpHelper.GetLocalIp(), settings.HttpPort);
                         var XlCalcMultDto = new XlCalcMultDto() { tleStr = txtTle.Text, start = startTime, end = endTime, spanSeconds = (int)txtSpanSeconds.EditValue };
-                        var ephRes = HttpHelper.PostRequest<List<SatEphDto>>(url, XlCalcMultDto);
+                        var ephRes =await HttpHelper.PostRequestAsync<List<SatEphDto>>(url, XlCalcMultDto);
                         if (ephRes.code == 200)
                         {
                             list.AddRange(ephRes.data);
@@ -109,7 +109,7 @@ namespace XdCxRhDW.App.CorTools
                     {
                         string url = string.Format("http://{0}:{1}/Api/Xl/Calc", IpHelper.GetLocalIp(), settings.HttpPort);
                         var XlCalcDto = new XlCalcDto() { tleStr = txtTle.Text, dt = Convert.ToDateTime(txtStartTime.EditValue) };
-                        var ephRes = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto);
+                        var ephRes = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto);
                         if (ephRes.code == 200)
                         {
                             list.Add(ephRes.data);

+ 13 - 5
XdCxRhDW.App/ExtensionsDev/LayoutControlExtension.cs

@@ -35,12 +35,12 @@ namespace ExtensionsDev
                 return $"{findCtrl.Name}_{ctrl.Name}";
             }
             string name = GetLayoutName();
-            (findCtrl as UserControl).Load += (sender, e) =>
+            EventHandler loadEvent = (sender, e) =>
             {
-                var frm = ctrl.FindForm();
-                if (frm != null)
+                var form = ctrl.FindForm();
+                if (form != null)
                 {
-                    frm.VisibleChanged += (sender2, e2) =>
+                    form.VisibleChanged += (sender2, e2) =>
                     {
                         Directory.CreateDirectory("Layout");
                         if (name == null) return;
@@ -48,7 +48,15 @@ namespace ExtensionsDev
                     };
                 }
             };
-           
+            if (findCtrl is Form frm)
+            {
+                frm.Load += loadEvent;
+            }
+            else if (findCtrl is UserControl uCtrl)
+            {
+                uCtrl.Load += loadEvent;
+            }
+
             if (name != null && File.Exists($"Layout\\{name}.xml"))
             {
                 ctrl.RestoreLayoutFromXml($"Layout\\{name}.xml");

+ 2 - 2
XdCxRhDW.App/UserControl/CtrlHome.cs

@@ -35,8 +35,8 @@ namespace XdCxRhDW.App.UserControl
         public CtrlHome()
         {
             InitializeComponent();
-            gridHomeTask.Init<TaskInfo>();
-            gridHomePosRes.Init<PosRes>().UseMultiSelect().UseRowNumber();
+            gridHomeTask.Init<TaskInfo>().UseFilter();
+            gridHomePosRes.Init<PosRes>().UseMultiSelect().UseRowNumber().UseFilter();
             layoutControl1.UseDefault();
             btnDrawDto.ImageOptions.SvgImage = SvgHelper.LoadFromFile("Image\\DtoLine.svg");
             btnDrawDfo.ImageOptions.SvgImage = SvgHelper.LoadFromFile("Image\\DfoLine.svg");

+ 15 - 7
XdCxRhDW.Core/HttpHelper.cs

@@ -13,13 +13,6 @@ namespace XdCxRhDW.Core
 {
     public class HttpHelper
     {
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <typeparam name="T"></typeparam>
-        /// <param name="url"></param>
-        /// <param name="dto">dto对象</param>
-        /// <returns></returns>
         public static AjaxResult<T> PostRequest<T>(string url, object dto)
         {
             var content = new StringContent(JsonConvert.SerializeObject(dto), System.Text.Encoding.UTF8, "application/json");
@@ -35,7 +28,22 @@ namespace XdCxRhDW.Core
             var AjaxResult = JsonConvert.DeserializeObject<AjaxResult<T>>(result);
             return AjaxResult;
         }
+       
+        public static async Task<AjaxResult<T>> PostRequestAsync<T>(string url, object dto)
+        {
+            var content = new StringContent(JsonConvert.SerializeObject(dto), System.Text.Encoding.UTF8, "application/json");
+            var handler = new HttpClientHandler() { UseCookies = false };
+            HttpClient client = new HttpClient(handler);
+            client.Timeout = TimeSpan.FromSeconds(20);
+            var message = new HttpRequestMessage(HttpMethod.Post, url);
+            message.Content = content;
 
+            var response =await client.SendAsync(message);
+            response.EnsureSuccessStatusCode();
+            var result = response.Content.ReadAsStringAsync().Result;
+            var AjaxResult = JsonConvert.DeserializeObject<AjaxResult<T>>(result);
+            return AjaxResult;
+        }
 
         public static string UploadFile(string localFile, string uploadUrl)
         {

+ 18 - 18
XdCxRhDW.Sender/Form1.cs

@@ -83,7 +83,7 @@ namespace XdCxRhDW.Sender
                                     };
                                     //var content = new StringContent(JsonConvert.SerializeObject(dto), System.Text.Encoding.UTF8, "application/json");
                                     //var response = await client.PostAsync(url, content);
-                                    var result = HttpHelper.PostRequest<PosResDto>(url, dto);
+                                    var result =await HttpHelper.PostRequestAsync<PosResDto>(url, dto);
                                     if (result.code != 200)
                                     {
                                         Log($"{result.msg}");
@@ -131,7 +131,7 @@ namespace XdCxRhDW.Sender
                                     X2D1PosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat");
                                     //var content = new StringContent(JsonConvert.SerializeObject(X2D1PosDto), System.Text.Encoding.UTF8, "application/json");
                                     //var response = await client.PostAsync(url, content);
-                                    var result = HttpHelper.PostRequest<PosResDto>(url, X2D1PosDto);
+                                    var result = await HttpHelper.PostRequestAsync<PosResDto>(url, X2D1PosDto);
                                     if (result.code != 200)
                                     {
                                         Log($"{result.msg}");
@@ -144,7 +144,7 @@ namespace XdCxRhDW.Sender
                             {
                                 url += "PosX2D1NoParAsync";
                                 var res = X2D1NoPar();
-                                var result = HttpHelper.PostRequest<PosResDto>(url, res);
+                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
                                 if (result.code != 200)
                                 {
                                     Log($"{result.msg}");
@@ -186,7 +186,7 @@ namespace XdCxRhDW.Sender
                                     RHPosDto.CxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lat");
                                     RHPosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lon");
                                     RHPosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat");
-                                    var result = HttpHelper.PostRequest<PosResDto>(url, RHPosDto);
+                                    var result = await HttpHelper.PostRequestAsync<PosResDto>(url, RHPosDto);
                                     if (result.code != 200)
                                     {
                                         Log($"{result.msg}");
@@ -199,7 +199,7 @@ namespace XdCxRhDW.Sender
                             {
                                 url += "PosX3TwoDtoAsync";
                                 var res = X3TwoDto();
-                                var result = HttpHelper.PostRequest<PosResDto>(url, res);
+                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
                                 if (result.code != 200)
                                 {
                                     Log($"{result.msg}");
@@ -211,7 +211,7 @@ namespace XdCxRhDW.Sender
                             {
                                 url += "PosX3TwoDtoNoParAsync";
                                 var res = X3TwoDtoNoPar();
-                                var result = HttpHelper.PostRequest<PosResDto>(url, res);
+                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
                                 if (result.code != 200)
                                 {
                                     Log($"{result.msg}");
@@ -223,7 +223,7 @@ namespace XdCxRhDW.Sender
                             {
                                 url += "PosX3TwoDfoAsync";
                                 var res = X3TwoDfo();
-                                var result = HttpHelper.PostRequest<PosResDto>(url, res);
+                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
                                 if (result.code != 200)
                                 {
                                     Log($"{result.msg}");
@@ -235,7 +235,7 @@ namespace XdCxRhDW.Sender
                             {
                                 url += "PosX2DtoDfoAsync";
                                 var res = X2Dfo();
-                                var result = HttpHelper.PostRequest<PosResDto>(url, res);
+                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
                                 if (result.code != 200)
                                 {
                                     Log($"{result.msg}");
@@ -275,7 +275,7 @@ namespace XdCxRhDW.Sender
                                         RefLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lon"),
                                         RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat"),
                                     };
-                                    var result = HttpHelper.PostRequest<PosResDto>(url, dto);
+                                    var result = await HttpHelper.PostRequestAsync<PosResDto>(url, dto);
                                     if (result.code != 200)
                                     {
                                         Log($"{result.msg}");
@@ -309,7 +309,7 @@ namespace XdCxRhDW.Sender
                                     X2D1NoXlPosDto.CdbTxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "超短波接收天线", "Lat");
                                     X2D1NoXlPosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lon");
                                     X2D1NoXlPosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat");
-                                    var result = HttpHelper.PostRequest<PosResDto>(url, X2D1NoXlPosDto);
+                                    var result = await HttpHelper.PostRequestAsync<PosResDto>(url, X2D1NoXlPosDto);
                                     if (result.code != 200)
                                     {
                                         Log($"{result.msg}");
@@ -323,7 +323,7 @@ namespace XdCxRhDW.Sender
                             {
                                 url += "PosX2D1NoXlNoParAsync";
                                 var res = X2D1NoParNoXL();
-                                var result = HttpHelper.PostRequest<PosResDto>(url, res);
+                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
                                 if (result.code != 200)
                                 {
                                     Log($"{result.msg}");
@@ -359,7 +359,7 @@ namespace XdCxRhDW.Sender
                                     RHNoXlPosDto.CxLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "侧向站", "Lat");
                                     RHNoXlPosDto.RefLon = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lon");
                                     RHNoXlPosDto.RefLat = IniFiles.ReadValue<double>("Station_Data2023.ini", "参考站", "Lat");
-                                    var result = HttpHelper.PostRequest<PosResDto>(url, RHNoXlPosDto);
+                                    var result = await HttpHelper.PostRequestAsync<PosResDto>(url, RHNoXlPosDto);
                                     if (result.code != 200)
                                     {
                                         Log($"{result.msg}");
@@ -372,7 +372,7 @@ namespace XdCxRhDW.Sender
                             {
                                 url += "PosX3TwoDtoNoXlAsync";
                                 var res = X3TwoDtoNoXL();
-                                var result = HttpHelper.PostRequest<PosResDto>(url, res);
+                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
                                 if (result.code != 200)
                                 {
                                     Log($"{result.msg}");
@@ -384,7 +384,7 @@ namespace XdCxRhDW.Sender
                             {
                                 url += "PosX3TwoDtoNoXlNoParAsync";
                                 var res = X3TwoDtoNoParNoXL();
-                                var result = HttpHelper.PostRequest<PosResDto>(url, res);
+                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
                                 if (result.code != 200)
                                 {
                                     Log($"{result.msg}");
@@ -396,7 +396,7 @@ namespace XdCxRhDW.Sender
                             {
                                 url += "PosX3TwoDfoNoXlAsync";
                                 var res = X3TwoDfoNoXL();
-                                var result = HttpHelper.PostRequest<PosResDto>(url, res);
+                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
                                 if (result.code != 200)
                                 {
                                     Log($"{result.msg}");
@@ -408,7 +408,7 @@ namespace XdCxRhDW.Sender
                             {
                                 url += "PosX2DtoDfoNoXlAsync";
                                 var res = X2DfoNoXL();
-                                var result = HttpHelper.PostRequest<PosResDto>(url, res);
+                                var result = await HttpHelper.PostRequestAsync<PosResDto>(url, res);
                                 if (result.code != 200)
                                 {
                                     Log($"{result.msg}");
@@ -731,8 +731,8 @@ namespace XdCxRhDW.Sender
             X2DtoDfoNoXlPosDto.AdjaCode = 39206;
             X2DtoDfoNoXlPosDto.Dto = -3.587980198938979e-06 * 1e6;
             X2DtoDfoNoXlPosDto.Dfo = -17.601977254734404;
-            X2DtoDfoNoXlPosDto.YbMainDto = 0;
-            X2DtoDfoNoXlPosDto.YbAdjaDto = 6.352805492137770e-05 * 1e6;
+            X2DtoDfoNoXlPosDto.YbMainDto = 0.26 * 1e6;
+            X2DtoDfoNoXlPosDto.YbAdjaDto = 0.25993647195 * 1e6;
             X2DtoDfoNoXlPosDto.YbMainDfo = 0;
             X2DtoDfoNoXlPosDto.YbAdjaDfo = 17.453698229247941;
             X2DtoDfoNoXlPosDto.TarFreqUp = 3808 * 1e6 + 2225 * 1e6;

+ 19 - 18
XdCxRhDW.WebApi/Controllers/PosController.cs

@@ -131,7 +131,7 @@ namespace XdCxRhDW.App.WebAPI
                 var settings = await db.SysSetings.FirstOrDefaultAsync();
                 var XlCalcDto = new XlCalcDto() { tleStr = xlInfo1.TwoLine, dt = dto.SigTime };
                 string url = string.Format("http://{0}:{1}/Api/Xl/Calc", IpHelper.GetLocalIp(), settings.HttpPort);
-                var ephMain = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto);
+                var ephMain = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto);
                 if (ephMain.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.MainCode}]的星历出错");
@@ -305,7 +305,7 @@ namespace XdCxRhDW.App.WebAPI
                 string url = string.Format("http://{0}:{1}/Api/Xl/Calc", IpHelper.GetLocalIp(), settings.HttpPort);
 
                 var XlCalcDto = new XlCalcDto() { tleStr = xlInfo1.TwoLine, dt = dto.SigTime };               
-                var ephMain = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto);
+                var ephMain = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto);
                 if (ephMain.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.MainCode}]的星历出错");
@@ -313,7 +313,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var XlCalcDto2 = new XlCalcDto() { tleStr = xlInfo2.TwoLine, dt = dto.SigTime };
-                var ephAdja = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto2);
+                var ephAdja = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto2);
                 if (ephAdja.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.MainCode}]的星历出错");
@@ -482,7 +482,8 @@ namespace XdCxRhDW.App.WebAPI
                 string url = string.Format("http://{0}:{1}/Api/Xl/Calc", IpHelper.GetLocalIp(), settings.HttpPort);
 
                 var XlCalcDto = new XlCalcDto() { tleStr = xlInfo1.TwoLine, dt = dto.SigTime };
-                var ephMain = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto);
+                var ephMain = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto);
+
                 if (ephMain.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.MainCode}]的星历出错");
@@ -490,7 +491,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var XlCalcDto2 = new XlCalcDto() { tleStr = xlInfo2.TwoLine, dt = dto.SigTime };
-                var ephAdja = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto2);
+                var ephAdja = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto2);
                 if (ephAdja.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.AdjaCode}]的星历出错");
@@ -670,7 +671,7 @@ namespace XdCxRhDW.App.WebAPI
                 string url = string.Format("http://{0}:{1}/Api/Xl/Calc", IpHelper.GetLocalIp(), settings.HttpPort);
 
                 var XlCalcDto = new XlCalcDto() { tleStr = xlInfo1.TwoLine, dt = dto.SigTime };
-                var ephMain = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto);
+                var ephMain = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto);
                 if (ephMain.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.MainCode}]的星历出错");
@@ -678,7 +679,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var XlCalcDto2 = new XlCalcDto() { tleStr = xlInfo2.TwoLine, dt = dto.SigTime };
-                var ephAdja = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto2);
+                var ephAdja = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto2);
                 if (ephAdja.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.AdjaCode}]的星历出错");
@@ -873,7 +874,7 @@ namespace XdCxRhDW.App.WebAPI
                 string url = string.Format("http://{0}:{1}/Api/Xl/Calc", IpHelper.GetLocalIp(), settings.HttpPort);
 
                 var XlCalcDto = new XlCalcDto() { tleStr = xlInfo1.TwoLine, dt = dto.SigTime };
-                var ephMain = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto);
+                var ephMain = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto);
                 if (ephMain.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.MainCode}]的星历出错");
@@ -881,7 +882,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var XlCalcDto2 = new XlCalcDto() { tleStr = xlInfo2.TwoLine, dt = dto.SigTime };
-                var ephAdja1 = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto2);
+                var ephAdja1 = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto2);
                 if (ephAdja1.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.Adja1Code}]的星历出错");
@@ -889,7 +890,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var XlCalcDto3 = new XlCalcDto() { tleStr = xlInfo3.TwoLine, dt = dto.SigTime };
-                var ephAdja2 = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto3);
+                var ephAdja2 = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto3);
                 if (ephAdja2.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.Adja2Code}]的星历出错");
@@ -1071,7 +1072,7 @@ namespace XdCxRhDW.App.WebAPI
                 string url = string.Format("http://{0}:{1}/Api/Xl/Calc", IpHelper.GetLocalIp(), settings.HttpPort);
 
                 var XlCalcDto = new XlCalcDto() { tleStr = xlInfo1.TwoLine, dt = dto.SigTime };
-                var ephMain = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto);
+                var ephMain = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto);
                 if (ephMain.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.MainCode}]的星历出错");
@@ -1079,7 +1080,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var XlCalcDto2 = new XlCalcDto() { tleStr = xlInfo2.TwoLine, dt = dto.SigTime };
-                var ephAdja1 = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto2);
+                var ephAdja1 = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto2);
                 if (ephAdja1.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.Adja1Code}]的星历出错");
@@ -1087,7 +1088,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var XlCalcDto3 = new XlCalcDto() { tleStr = xlInfo3.TwoLine, dt = dto.SigTime };
-                var ephAdja2 = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto3);
+                var ephAdja2 = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto3);
                 if (ephAdja2.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.Adja2Code}]的星历出错");
@@ -1284,7 +1285,7 @@ namespace XdCxRhDW.App.WebAPI
                 string url = string.Format("http://{0}:{1}/Api/Xl/Calc", IpHelper.GetLocalIp(), settings.HttpPort);
 
                 var XlCalcDto = new XlCalcDto() { tleStr = xlInfo1.TwoLine, dt = dto.SigTime };
-                var ephMain = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto);
+                var ephMain = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto);
                 if (ephMain.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.MainCode}]的星历出错");
@@ -1292,7 +1293,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var XlCalcDto2 = new XlCalcDto() { tleStr = xlInfo2.TwoLine, dt = dto.SigTime };
-                var ephAdja1 = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto2);
+                var ephAdja1 = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto2);
                 if (ephAdja1.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.Adja1Code}]的星历出错");
@@ -1300,7 +1301,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var XlCalcDto3 = new XlCalcDto() { tleStr = xlInfo3.TwoLine, dt = dto.SigTime };
-                var ephAdja2 = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto3);
+                var ephAdja2 = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto3);
                 if (ephAdja2.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.Adja2Code}]的星历出错");
@@ -1497,7 +1498,7 @@ namespace XdCxRhDW.App.WebAPI
                 string url = string.Format("http://{0}:{1}/Api/Xl/Calc", IpHelper.GetLocalIp(), settings.HttpPort);
 
                 var XlCalcDto = new XlCalcDto() { tleStr = xlInfo1.TwoLine, dt = dto.SigTime };
-                var ephMain = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto);
+                var ephMain = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto);
                 if (ephMain.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.MainCode}]的星历出错");
@@ -1505,7 +1506,7 @@ namespace XdCxRhDW.App.WebAPI
                 }
 
                 var XlCalcDto2 = new XlCalcDto() { tleStr = xlInfo2.TwoLine, dt = dto.SigTime };
-                var ephAdja = HttpHelper.PostRequest<SatEphDto>(url, XlCalcDto2);
+                var ephAdja = await HttpHelper.PostRequestAsync<SatEphDto>(url, XlCalcDto2);
                 if (ephAdja.code != 200)
                 {
                     Serilog.Log.Error($"推算[{dto.AdjaCode}]的星历出错");

+ 2 - 0
XdCxRhDw.Dto/Attribute/RangeAttribute.cs

@@ -64,6 +64,7 @@ namespace XdCxRhDw.Dto
         /// <exception cref="Exception"></exception>
         public override bool IsValid(object value)
         {
+            if (value == null) return true;
             if (value.GetType() != typeof(int) && !value.GetType().IsEnum)
             {
                 throw new Exception($"{nameof(RangeIntAttribute)}只能用于int或枚举类型!");
@@ -181,6 +182,7 @@ namespace XdCxRhDw.Dto
         /// <exception cref="Exception"></exception>
         public override bool IsValid(object value)
         {
+            if (value == null) return true;
             if (value.GetType() != typeof(double))
             {
                 throw new Exception($"{nameof(RangeDoubleAttribute)}只能用于double类型!");