wyq 1 år sedan
förälder
incheckning
a3412c40ca

+ 1 - 0
XdCxRhDW.Core/Api/Cpu参估/XcorrUtils.cs

@@ -99,6 +99,7 @@ namespace XdCxRhDW.Core.Api
             }
             return await Task.Run(() =>
              {
+                 
                  dmp.StartInfo.FileName = pFileName;
                  dmp.StartInfo.Arguments = pArguments;
                  dmp.StartInfo.CreateNoWindow = true;

+ 28 - 45
XdCxRhDW.WebApi/Controllers/DetectCgController.cs

@@ -19,18 +19,16 @@ namespace XdCxRhDW.WebApi.Controllers
     /// </summary>
     public class DetectCgController : BaseController
     {
-        private readonly TestService service;
+        private readonly DetectService service;
 
         /// <summary>
         /// 
         /// </summary>
         /// <param name="service"></param>
-        public DetectCgController(TestService service)
+        public DetectCgController(DetectService service)
         {
             this.service = service;
         }
-        private static readonly object thisLock = new object();
-        Dictionary<string, XcorrUtils> keyValues = new Dictionary<string, XcorrUtils>();
 
         private string UploadFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wwwroot");
         private (bool, string) ValidateCalcParam(CalcDto dto)
@@ -112,10 +110,7 @@ namespace XdCxRhDW.WebApi.Controllers
             try
             {
                 XcorrUtils xcorr = new XcorrUtils();
-                lock (thisLock)
-                {
-                    keyValues.Add(token, xcorr);
-                }
+                service.Add(token, xcorr);
                 var result = await xcorr.Calc(xItem);
                 //开始计算
                 if (result.flag == -2)
@@ -149,10 +144,7 @@ namespace XdCxRhDW.WebApi.Controllers
             }
             finally
             {
-                lock (thisLock)
-                {
-                    keyValues.Remove(token);
-                }
+                service.Remove(token);
                 try
                 {
                     //删除计算得文件
@@ -167,28 +159,27 @@ namespace XdCxRhDW.WebApi.Controllers
 
         }
 
-      /// <summary>
-      /// 参估计算停止
-      /// </summary>
-      /// <param name="token"></param>
-      /// <returns></returns>
+        /// <summary>
+        /// 参估计算停止
+        /// </summary>
+        /// <param name="token"></param>
+        /// <returns></returns>
         //[HttpPost]
         //public async Task<AjaxResult<bool>> StopEstimationCalc(string token)
         //{
         //    return await Task.Run(() =>
         //    {
-        //        lock (thisLock)
+        //        var xcorr = service.Get(token);
+        //        if (xcorr != null)
         //        {
-        //            if (keyValues.ContainsKey(token))
-        //            {
-        //                keyValues[token].StopCalc();
-        //                return Success(true);
-        //            }
-        //            else
-        //            {
-        //                return Success(false);
-        //            }
+        //            xcorr.StopCalc();
+        //            return Success(true);
         //        }
+        //        else
+        //        {
+        //            return Success(false);
+        //        }
+
         //    });
 
         //}
@@ -238,10 +229,7 @@ namespace XdCxRhDW.WebApi.Controllers
             try
             {
                 XcorrUtils xcorr = new XcorrUtils();
-                lock (thisLock)
-                {
-                    keyValues.Add(token, xcorr);
-                }
+                service.Add(token, xcorr);
                 var dmcResult = await xcorr.DmcCheckAsync(dto.file1, dto.fsHz, dto.dmcType);
                 foreach (var dmcItem in dmcResult)
                 {
@@ -259,10 +247,7 @@ namespace XdCxRhDW.WebApi.Controllers
             }
             finally
             {
-                lock (thisLock)
-                {
-                    //keyValues.Remove(token);
-                }
+                service.Remove(token);
                 try
                 {
                     //删除检测的文件
@@ -287,17 +272,15 @@ namespace XdCxRhDW.WebApi.Controllers
         //{
         //    return await Task.Run(() =>
         //    {
-        //        lock (thisLock)
+        //        var xcorr = service.Get(token);
+        //        if (xcorr != null)
+        //        {
+        //            xcorr.StopDm();
+        //            return Success(true);
+        //        }
+        //        else
         //        {
-        //            if (keyValues.ContainsKey(token))
-        //            {
-        //                keyValues[token].StopDm();
-        //                return Success(true);
-        //            }
-        //            else
-        //            {
-        //                return Success(false);
-        //            }
+        //            return Success(false);
         //        }
         //    });
 

+ 67 - 0
XdCxRhDW.WebApi/Service/DetectService.cs

@@ -0,0 +1,67 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using XdCxRhDW.Core.Api;
+
+namespace XdCxRhDW.WebApi.Service
+{
+    /// <summary>
+    /// 测试Service
+    /// </summary>
+    public class DetectService
+    {
+        private static readonly object thisLock = new object();
+        Dictionary<string, XcorrUtils> keyValues = new Dictionary<string, XcorrUtils>();
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public DetectService()
+        {
+            int code = this.GetHashCode();
+        }
+        /// <summary>
+        /// 存储token
+        /// </summary>
+        /// <param name="token"></param>
+        /// <param name="xcorr"></param>
+        public void Add(string token, XcorrUtils xcorr)
+        {
+            lock (thisLock)
+            {
+                keyValues.Add(token, xcorr);
+            }
+        }
+        /// <summary>
+        /// 移除totken
+        /// </summary>
+        /// <param name="token"></param>
+        public void Remove(string token)
+        {
+            lock (thisLock)
+            {
+                keyValues.Remove(token);
+            }
+        }
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="token"></param>
+        public XcorrUtils Get(string token)
+        {
+            lock (thisLock)
+            {
+                if (keyValues.ContainsKey(token))
+                {
+                    return keyValues[token];
+                }
+                else
+                {
+                    return null;
+                }
+            }
+        }
+    }
+}

+ 0 - 29
XdCxRhDW.WebApi/Service/TestService.cs

@@ -1,29 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace XdCxRhDW.WebApi.Service
-{
-    /// <summary>
-    /// 测试Service
-    /// </summary>
-    public class TestService
-    {
-        /// <summary>
-        /// 
-        /// </summary>
-        public TestService()
-        {
-            int code = this.GetHashCode();
-        }
-        /// <summary>
-        /// 测试
-        /// </summary>
-        public void Test()
-        {
-            int code = this.GetHashCode();
-        }
-    }
-}

+ 1 - 1
XdCxRhDW.WebApi/XdCxRhDW.WebApi.csproj

@@ -191,7 +191,7 @@
     <Compile Include="Controllers\DetectCgController.cs" />
     <Compile Include="Controllers\PosController.cs" />
     <Compile Include="Controllers\XlController.cs" />
-    <Compile Include="Service\TestService.cs" />
+    <Compile Include="Service\DetectService.cs" />
     <Compile Include="Startup.cs" />
   </ItemGroup>
   <ItemGroup>