lixun 2 năm trước cách đây
mục cha
commit
9014188eb9
35 tập tin đã thay đổi với 301 bổ sung224 xóa
  1. 1 0
      src/YSAI.DAQ/YSAI.Core/YSAI.Core.csproj
  2. 43 0
      src/YSAI.DAQ/YSAI.Core/interface/only/IManage.cs
  3. 20 0
      src/YSAI.DAQ/YSAI.Core/interface/unify/IOrAbstract.cs
  4. 1 2
      src/YSAI.DAQ/YSAI.Core/reflection/ReflectionOperate.cs
  5. 1 2
      src/YSAI.DAQ/YSAI.Core/script/ScriptOperate.cs
  6. 12 17
      src/YSAI.DAQ/YSAI.Core/serialport/SerialPortOperate.cs
  7. 12 16
      src/YSAI.DAQ/YSAI.Core/socket/tcp/client/SocketTcpClientOperate.cs
  8. 4 8
      src/YSAI.DAQ/YSAI.Core/socket/tcp/service/SocketTcpServiceOperate.cs
  9. 17 21
      src/YSAI.DAQ/YSAI.Core/socket/tcpClient/Operate.cs
  10. 4 5
      src/YSAI.DAQ/YSAI.Core/socket/tcpListener/Operate.cs
  11. 12 12
      src/YSAI.DAQ/YSAI.Core/socket/udp/SocketUdpOperate.cs
  12. 12 12
      src/YSAI.DAQ/YSAI.Core/socket/udpClient/Operate.cs
  13. 4 5
      src/YSAI.DAQ/YSAI.Core/subscribe/SubscribeOperate.cs
  14. 7 1
      src/YSAI.DAQ/YSAI.DAQ.sln
  15. 1 1
      src/YSAI.DAQ/YSAI.DB/DBOperate.cs
  16. 8 8
      src/YSAI.DAQ/YSAI.Kafka/KafkaAdminOperate.cs
  17. 2 2
      src/YSAI.DAQ/YSAI.Kafka/KafkaConsumerOperate.cs
  18. 1 1
      src/YSAI.DAQ/YSAI.Kafka/KafkaProducerOperate.cs
  19. 11 0
      src/YSAI.DAQ/YSAI.Manage.Core/YSAI.Manage.Core.csproj
  20. 2 2
      src/YSAI.DAQ/YSAI.Manage/Controllers/DaqLibInfoController.cs
  21. 9 5
      src/YSAI.DAQ/YSAI.Manage/Controllers/DaqLibOperateController.cs
  22. 2 2
      src/YSAI.DAQ/YSAI.Manage/Controllers/RelayLibInfoController.cs
  23. 19 0
      src/YSAI.DAQ/YSAI.Manage/Or.cs
  24. 10 10
      src/YSAI.DAQ/YSAI.Modbus/client/ModbusClientOperate.cs
  25. 33 33
      src/YSAI.DAQ/YSAI.Mqtt/client/MqttClientOperate.cs
  26. 14 14
      src/YSAI.DAQ/YSAI.Mqtt/service/MqttServiceOperate.cs
  27. 1 1
      src/YSAI.DAQ/YSAI.Mqtt/service/websocket/MqttWebSocketServiceOperate.cs
  28. 15 15
      src/YSAI.DAQ/YSAI.Opc/da/client/OpcDaClientOperate.cs
  29. 3 3
      src/YSAI.DAQ/YSAI.Opc/da/http/OpcDaHttpOperate.cs
  30. 8 8
      src/YSAI.DAQ/YSAI.Opc/ua/client/OpcUaClientOperate.cs
  31. 2 2
      src/YSAI.DAQ/YSAI.Opc/ua/service/OpcUaServiceOperate.cs
  32. 3 3
      src/YSAI.DAQ/YSAI.RabbitMQ/RabbitMQConsumerOperate.cs
  33. 3 3
      src/YSAI.DAQ/YSAI.RabbitMQ/RabbitMQPublisherOperate.cs
  34. 4 4
      src/YSAI.DAQ/YSAI.S7/client/S7ClientOperate.cs
  35. 0 6
      src/YSAI.DAQ/YSAI.TestConsole/YSAI.TestConsole.csproj

+ 1 - 0
src/YSAI.DAQ/YSAI.Core/YSAI.Core.csproj

@@ -7,6 +7,7 @@
   </PropertyGroup>
 
 	<ItemGroup>
+		<PackageReference Include="Microsoft.AspNetCore.Mvc.Abstractions" Version="2.2.0" />
 		<PackageReference Include="Microsoft.ClearScript" Version="7.4.2" />
 		<PackageReference Include="StackExchange.Redis" Version="2.6.122" />
 		<PackageReference Include="System.IO.Ports" Version="7.0.0" />

+ 43 - 0
src/YSAI.DAQ/YSAI.Core/interface/only/IManage.cs

@@ -0,0 +1,43 @@
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace YSAI.Core.@interface.only
+{
+    /// <summary>
+    /// 统一管理接口
+    /// </summary>
+    public interface IManage
+    {
+        /// <summary>
+        /// 示例
+        /// </summary>
+        /// <returns>配置文件</returns>
+        IActionResult Sample();
+
+        /// <summary>
+        /// 设置配置
+        /// </summary>
+        /// <param name="ConfigFile">配置文件</param>
+        /// <returns>统一出参</returns>
+        Task<IActionResult> Setting(IFormFile? ConfigFile);
+
+        /// <summary>
+        /// 修改配置
+        /// </summary>
+        /// <param name="ConfigFile">配置文件</param>
+        /// <returns>统一出参</returns>
+        Task<IActionResult> Update(IFormFile? ConfigFile);
+
+        /// <summary>
+        /// 初始化
+        /// </summary>
+        /// <returns>统一出参</returns>
+        Task<IActionResult> Init();
+
+    }
+}

+ 20 - 0
src/YSAI.DAQ/YSAI.Core/interface/unify/IOrAbstract.cs

@@ -29,6 +29,26 @@ namespace YSAI.Core.@interface.unify
         {
             get;
         }
+
+
+        /// <summary>
+        /// 出发,记录运行时间
+        /// </summary>
+        /// <param name="MethodName">方法名</param>
+        protected void Depart(string MethodName)
+        {
+            RunTimeTool.Instance($"{ClassName}.{MethodName}").StartRecord();
+        }
+
+        /// <summary>
+        /// 出发,记录运行时间
+        /// </summary>
+        /// <param name="MethodName">方法名</param>
+        protected Task DepartAsync(string MethodName)
+        {
+            return Task.Run(() => Depart(MethodName));
+        }
+
         /// <summary>
         /// 异步统一返回
         /// </summary>

+ 1 - 2
src/YSAI.DAQ/YSAI.Core/reflection/ReflectionOperate.cs

@@ -147,8 +147,7 @@ namespace YSAI.Core.reflection
         /// <returns></returns>
         public OperateResult Init(Basics data)
         {
-            //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Init").StartRecord();
+            Depart("Init");
             try
             {
                 if (MethodIocContainer == null)

+ 1 - 2
src/YSAI.DAQ/YSAI.Core/script/ScriptOperate.cs

@@ -78,8 +78,7 @@ namespace YSAI.Core.script
 
         public OperateResult Execute(ScriptData.ScriptType ScriptType, string? ScriptCode, string? ScriptFunction, string? ScriptParam)
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("ScriptOperate.Execute").StartRecord();
+            Depart("Execute");
             try
             {
                 //返回参数

+ 12 - 17
src/YSAI.DAQ/YSAI.Core/serialport/SerialPortOperate.cs

@@ -119,8 +119,7 @@ namespace YSAI.Core.serialport
         /// <param name="StrData"></param>
         public OperateResult Send(SerialPortData.SendBasics Data)
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SerialPortOperate.Send").StartRecord();
+            Depart("Send");
             try
             {
                 byte[] Tmp_Buffer = null;
@@ -315,8 +314,7 @@ namespace YSAI.Core.serialport
         }
         public OperateResult On()
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SerialPortOperate.On").StartRecord();
+            Depart("On");
             try
             {
                 if (serialPort != null && serialPort.IsOpen)  //串口打开了
@@ -361,8 +359,7 @@ namespace YSAI.Core.serialport
         }
         public OperateResult Off()
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SerialPortOperate.Off").StartRecord();
+            Depart("Off");
             try
             {
                 if (serialPort != null)
@@ -389,8 +386,7 @@ namespace YSAI.Core.serialport
         }
         public OperateResult Send(byte[] Data)
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SerialPortOperate.Send").StartRecord();
+            Depart("Send");
             try
             {
                 if (serialPort != null)
@@ -411,16 +407,19 @@ namespace YSAI.Core.serialport
                 return Break("Send", false, "发送数据异常:" + ex.Message);
             }
         }
-        public async Task<OperateResult> ReadOrWriteAsync(byte[] Data)
+        public Task<OperateResult> ReadOrWriteAsync(byte[] Data)
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SerialPortOperate.ReadOrWrite").StartRecord();
+            return Task.Run(() => ReadOrWrite(Data));
+        }
+        public OperateResult ReadOrWrite(byte[] Data)
+        {
+            Depart("ReadOrWrite");
             try
             {
                 OperateResult reverseBack = Send(Data);
                 if (reverseBack.State)
                 {
-                    (bool state, byte[] bytes) retBytes = await Task.Run(() =>
+                    (bool state, byte[] bytes) retBytes = Task.Run(() =>
                     {
                         byte[]? retbytes = new byte[] { };
                         bool WhileState = true;
@@ -446,7 +445,7 @@ namespace YSAI.Core.serialport
                         bool TimeOutState = task.Wait(basics.AloneReadOrWriteWaitTime);   //false 超时, true没超时
                         WhileState = false;
                         return (TimeOutState, retbytes);
-                    });
+                    }).Result;
                     if (retBytes.state)
                     {
                         return Break("ReadOrWrite", true, RData: retBytes.bytes, RType: @enum.ResultType.Bytes);
@@ -459,9 +458,5 @@ namespace YSAI.Core.serialport
                 return Break("ReadOrWrite", false, "读取或写入异常:" + ex.Message);
             }
         }
-        public OperateResult ReadOrWrite(byte[] Data)
-        {
-            return ReadOrWriteAsync(Data).Result;
-        }
     }
 }

+ 12 - 16
src/YSAI.DAQ/YSAI.Core/socket/tcp/client/SocketTcpClientOperate.cs

@@ -192,8 +192,7 @@ namespace YSAI.Core.socket.tcp.client
 
         public OperateResult On()
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpClientOperate.On").StartRecord();
+            Depart("On");
             try
             {
                 if (Client_SK == null)
@@ -238,8 +237,7 @@ namespace YSAI.Core.socket.tcp.client
 
         public OperateResult Off()
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpClientOperate.Off").StartRecord();
+            Depart("Off");
             try
             {
                 if (Client_SK != null)
@@ -273,8 +271,7 @@ namespace YSAI.Core.socket.tcp.client
         }
         public OperateResult Send(byte[] Data)
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpClientOperate.Send").StartRecord();
+            Depart("Send");
             try
             {
                 if (Client_SK.Send(Data) > 0)
@@ -289,16 +286,20 @@ namespace YSAI.Core.socket.tcp.client
             }
         }
 
-        public async Task<OperateResult> ReadOrWriteAsync(byte[] Data)
+        public Task<OperateResult> ReadOrWriteAsync(byte[] Data)
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpClientOperate.ReadOrWrite").StartRecord();
+            return Task.Run(() => ReadOrWrite(Data));
+        }
+
+        public OperateResult ReadOrWrite(byte[] Data)
+        {
+            Depart("ReadOrWrite");
             try
             {
                 OperateResult reverseBack = Send(Data);
                 if (reverseBack.State)
                 {
-                    (bool state, byte[] bytes) retBytes = await Task.Run(() =>
+                    (bool state, byte[] bytes) retBytes = Task.Run(() =>
                     {
                         byte[]? retbytes = new byte[] { };
                         bool WhileState = true;
@@ -324,7 +325,7 @@ namespace YSAI.Core.socket.tcp.client
                         bool TimeOutState = task.Wait(basics.AloneReadOrWriteWaitTime);   //false 超时, true没超时
                         WhileState = false;
                         return (TimeOutState, retbytes);
-                    });
+                    }).Result;
                     if (retBytes.state)
                     {
                         return Break("ReadOrWrite", true, RData: retBytes.bytes, RType: @enum.ResultType.Bytes);
@@ -337,10 +338,5 @@ namespace YSAI.Core.socket.tcp.client
                 return Break("ReadOrWrite", false, "读取或写入异常:" + ex.Message);
             }
         }
-
-        public OperateResult ReadOrWrite(byte[] Data)
-        {
-            return ReadOrWriteAsync(Data).Result;
-        }
     }
 }

+ 4 - 8
src/YSAI.DAQ/YSAI.Core/socket/tcp/service/SocketTcpServiceOperate.cs

@@ -210,8 +210,7 @@ namespace YSAI.Core.socket.tcp.service
 
         public OperateResult Remove(string? Key)
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpServiceOperate.Remove").StartRecord();
+            Depart("Remove");
             try
             {
                 if (!string.IsNullOrEmpty(Key))
@@ -256,8 +255,7 @@ namespace YSAI.Core.socket.tcp.service
 
         public OperateResult Send(byte[] Data, string? Address = null)
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpServiceOperate.Send").StartRecord();
+            Depart("Send");
             try
             {
                 (bool State, string Message) RetData;
@@ -299,8 +297,7 @@ namespace YSAI.Core.socket.tcp.service
 
         public OperateResult On()
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpServiceOperate.On").StartRecord();
+            Depart("On");
             try
             {
                 if (Server_SK == null)
@@ -340,8 +337,7 @@ namespace YSAI.Core.socket.tcp.service
 
         public OperateResult Off()
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpServiceOperate.Off").StartRecord();
+            Depart("Off");
             try
             {
                 Remove(null);  //移除所有

+ 17 - 21
src/YSAI.DAQ/YSAI.Core/socket/tcpClient/Operate.cs

@@ -14,7 +14,7 @@ namespace YSAI.Core.socket.tcpClient
     /// <summary>
     /// tcpClient  操作
     /// </summary>
-    public class Operate: IBaseAbstract<SocketTcpClientData.Event>, IBaseCommunication
+    public class Operate : IBaseAbstract<SocketTcpClientData.Event>, IBaseCommunication
     {
         private static readonly object Lock = new object();  //锁
         private static List<Operate> ThisObjList = new List<Operate>(); //自身对象集合
@@ -80,7 +80,7 @@ namespace YSAI.Core.socket.tcpClient
         private CancellationTokenSource ThreadMonitorConnectStateSwitch;
 
 
-        
+
         /// <summary>
         /// 线程连接状态
         /// </summary>
@@ -135,7 +135,7 @@ namespace YSAI.Core.socket.tcpClient
             }
             catch { }
         }
-        
+
         /// <summary>
         /// 服务端消息接收
         /// </summary>
@@ -182,10 +182,10 @@ namespace YSAI.Core.socket.tcpClient
             catch { }
         }
 
-       
 
 
-      
+
+
 
         //释放资源
         public void Dispose()
@@ -203,8 +203,7 @@ namespace YSAI.Core.socket.tcpClient
 
         public OperateResult On()
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpClientOperate.On").StartRecord();
+            Depart("On");
             try
             {
                 if (Client_SK == null)
@@ -259,8 +258,7 @@ namespace YSAI.Core.socket.tcpClient
 
         public OperateResult Off()
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpClientOperate.Off").StartRecord();
+            Depart("Off");
             try
             {
                 if (Client_SK != null)
@@ -295,8 +293,7 @@ namespace YSAI.Core.socket.tcpClient
 
         public OperateResult Send(byte[] Data)
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpClientOperate.Send").StartRecord();
+            Depart("Send");
             try
             {
                 networkStream.Write(Data, 0, Data.Length);
@@ -308,16 +305,20 @@ namespace YSAI.Core.socket.tcpClient
             }
         }
 
-        public async Task<OperateResult> ReadOrWriteAsync(byte[] Data)
+        public Task<OperateResult> ReadOrWriteAsync(byte[] Data)
+        {
+            return Task.Run(() => ReadOrWrite(Data));
+        }
+
+        public OperateResult ReadOrWrite(byte[] Data)
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpClientOperate.ReadOrWrite").StartRecord();
+            Depart("ReadOrWrite");
             try
             {
                 OperateResult reverseBack = Send(Data);
                 if (reverseBack.State)
                 {
-                    (bool state, byte[] bytes) retBytes = await Task.Run(() =>
+                    (bool state, byte[] bytes) retBytes = Task.Run(() =>
                     {
                         byte[]? retbytes = new byte[] { };
                         bool WhileState = true;
@@ -343,7 +344,7 @@ namespace YSAI.Core.socket.tcpClient
                         bool TimeOutState = task.Wait(basics.AloneReadOrWriteWaitTime);   //false 超时, true没超时
                         WhileState = false;
                         return (TimeOutState, retbytes);
-                    });
+                    }).Result;
                     if (retBytes.state)
                     {
                         return Break("ReadOrWrite", true, RData: retBytes.bytes, RType: @enum.ResultType.Bytes);
@@ -356,10 +357,5 @@ namespace YSAI.Core.socket.tcpClient
                 return Break("ReadOrWrite", false, "读取或写入异常:" + ex.Message);
             }
         }
-
-        public OperateResult ReadOrWrite(byte[] Data)
-        {
-            return ReadOrWriteAsync(Data).Result;
-        }
     }
 }

+ 4 - 5
src/YSAI.DAQ/YSAI.Core/socket/tcpListener/Operate.cs

@@ -209,7 +209,7 @@ namespace YSAI.Core.socket.tcpListener
         public OperateResult Remove(string? Key)
         {
             //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpServiceOperate.Remove").StartRecord();
+            Depart("Remove");
             try
             {
                 if (!string.IsNullOrEmpty(Key))
@@ -254,8 +254,7 @@ namespace YSAI.Core.socket.tcpListener
 
         public OperateResult Send(byte[] Data, string? Address = null)
         {
-            //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpServiceOperate.Send").StartRecord();
+            Depart("Send");
             try
             {
                 (bool State, string Message) RetData;
@@ -298,7 +297,7 @@ namespace YSAI.Core.socket.tcpListener
         public OperateResult On()
         {
             //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpServiceOperate.On").StartRecord();
+            Depart("On");
             try
             {
                 if (Server_SK == null)
@@ -337,7 +336,7 @@ namespace YSAI.Core.socket.tcpListener
         public OperateResult Off()
         {
             //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpServiceOperate.Off").StartRecord();
+            Depart("Off");
             try
             {
                 Remove(null);  //移除所有

+ 12 - 12
src/YSAI.DAQ/YSAI.Core/socket/udp/SocketUdpOperate.cs

@@ -150,16 +150,21 @@ namespace YSAI.Core.socket.udp
             ThisObjList.Remove(this);
         }
 
-        public async Task<OperateResult> ReadOrWriteAsync(byte[] Data, IPEndPoint iPEndPoint)
+        public Task<OperateResult> ReadOrWriteAsync(byte[] Data, IPEndPoint iPEndPoint)
+        {
+            return Task.Run(() => ReadOrWrite(Data, iPEndPoint));
+        }
+
+        public OperateResult ReadOrWrite(byte[] Data, IPEndPoint iPEndPoint)
         {
             //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpClientOperate.ReadOrWrite").StartRecord();
+            Depart("ReadOrWrite");
             try
             {
                 OperateResult reverseBack = Send(Data, iPEndPoint);
                 if (reverseBack.State)
                 {
-                    (bool state, byte[] bytes) retBytes = await Task.Run(() =>
+                    (bool state, byte[] bytes) retBytes = Task.Run(() =>
                     {
                         byte[]? retbytes = new byte[] { };
                         bool WhileState = true;
@@ -186,7 +191,7 @@ namespace YSAI.Core.socket.udp
                         bool TimeOutState = task.Wait(basics.AloneReadOrWriteWaitTime);   //false 超时, true没超时
                         WhileState = false;
                         return (TimeOutState, retbytes);
-                    });
+                    }).Result;
                     if (retBytes.state)
                     {
                         return Break("ReadOrWrite", true, RData: retBytes.bytes, RType: @enum.ResultType.Bytes);
@@ -200,11 +205,6 @@ namespace YSAI.Core.socket.udp
             }
         }
 
-        public OperateResult ReadOrWrite(byte[] Data, IPEndPoint iPEndPoint)
-        {
-            return ReadOrWriteAsync(Data,iPEndPoint).Result;
-        }
-
         public Task<OperateResult> SendAsync(byte[] Data, IPEndPoint iPEndPoint)
         {
             return Task.Run(() => Send(Data, iPEndPoint));
@@ -213,7 +213,7 @@ namespace YSAI.Core.socket.udp
         public OperateResult Send(byte[] Data, IPEndPoint iPEndPoint)
         {
             //开始记录运行时间
-            RunTimeTool.Instance("SocketUdpOperate.Send").StartRecord();
+            Depart("Send");
             try
             {
                 if (UdpClients != null)
@@ -243,7 +243,7 @@ namespace YSAI.Core.socket.udp
         public OperateResult On()
         {
             //开始记录运行时间
-            RunTimeTool.Instance("SocketUdpOperate.On").StartRecord();
+            Depart("On");
             try
             {
                 if (UdpClients != null)
@@ -275,7 +275,7 @@ namespace YSAI.Core.socket.udp
         public OperateResult Off()
         {
             //开始记录运行时间
-            RunTimeTool.Instance("SocketUdpOperate.Off").StartRecord();
+            Depart("Off");
             try
             {
                 StopMessageMonitor();  //必须放前面不然会报错

+ 12 - 12
src/YSAI.DAQ/YSAI.Core/socket/udpClient/Operate.cs

@@ -155,16 +155,21 @@ namespace YSAI.Core.socket.udpClient
             ThisObjList.Remove(this);
         }
 
-        public async Task<OperateResult> ReadOrWriteAsync(byte[] Data, IPEndPoint iPEndPoint)
+        public Task<OperateResult> ReadOrWriteAsync(byte[] Data, IPEndPoint iPEndPoint)
+        {
+            return Task.Run(() => ReadOrWrite(Data,iPEndPoint));
+        }
+
+        public OperateResult ReadOrWrite(byte[] Data, IPEndPoint iPEndPoint)
         {
             //开始记录运行时间
-            RunTimeTool.Instance("SocketTcpClientOperate.ReadOrWrite").StartRecord();
+            Depart("ReadOrWrite");
             try
             {
                 OperateResult reverseBack = Send(Data, iPEndPoint);
                 if (reverseBack.State)
                 {
-                    (bool state, byte[] bytes) retBytes = await Task.Run(() =>
+                    (bool state, byte[] bytes) retBytes = Task.Run(() =>
                     {
                         byte[]? retbytes = new byte[] { };
                         bool WhileState = true;
@@ -186,7 +191,7 @@ namespace YSAI.Core.socket.udpClient
                         bool TimeOutState = task.Wait(basics.AloneReadOrWriteWaitTime);   //false 超时, true没超时
                         WhileState = false;
                         return (TimeOutState, retbytes);
-                    });
+                    }).Result;
                     if (retBytes.state)
                     {
                         return Break("ReadOrWrite", true, RData: retBytes.bytes, RType: @enum.ResultType.Bytes);
@@ -200,11 +205,6 @@ namespace YSAI.Core.socket.udpClient
             }
         }
 
-        public OperateResult ReadOrWrite(byte[] Data, IPEndPoint iPEndPoint)
-        {
-            return ReadOrWriteAsync(Data, iPEndPoint).Result;   
-        }
-
         public Task<OperateResult> SendAsync(byte[] Data, IPEndPoint iPEndPoint)
         {
             return Task.Run(() => Send(Data,iPEndPoint));
@@ -213,7 +213,7 @@ namespace YSAI.Core.socket.udpClient
         public OperateResult Send(byte[] Data, IPEndPoint iPEndPoint)
         {
             //开始记录运行时间
-            RunTimeTool.Instance("SocketUdpOperate.Send").StartRecord();
+            Depart("Send");
             try
             {
                 if (UdpClients != null)
@@ -246,7 +246,7 @@ namespace YSAI.Core.socket.udpClient
         public OperateResult On()
         {
             //开始记录运行时间
-            RunTimeTool.Instance("SocketUdpOperate.On").StartRecord();
+            Depart("On");
             try
             {
                 if (UdpClients != null)
@@ -277,7 +277,7 @@ namespace YSAI.Core.socket.udpClient
         public OperateResult Off()
         {
             //开始记录运行时间
-            RunTimeTool.Instance("SocketUdpOperate.Off").StartRecord();
+            Depart("Off");
             try
             {
                 StopMessageMonitor();  //必须放前面不然会报错

+ 4 - 5
src/YSAI.DAQ/YSAI.Core/subscribe/SubscribeOperate.cs

@@ -249,8 +249,7 @@ namespace YSAI.Core.subscription
 
         public OperateResult Subscribe(List<AddressDetails> nodes)
         {
-            //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Subscribe").StartRecord();
+            Depart("Subscribe");
             try
             {
                 GoOn = false;
@@ -278,7 +277,7 @@ namespace YSAI.Core.subscription
         public OperateResult UnSubscribe(List<AddressDetails> nodes)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.UnSubscribe").StartRecord();
+            Depart("UnSubscribe");
             try
             {
                 GoOn = false;
@@ -321,7 +320,7 @@ namespace YSAI.Core.subscription
         public OperateResult On()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.On").StartRecord();
+            Depart("On");
             try
             {
                 if (thread == null)
@@ -351,7 +350,7 @@ namespace YSAI.Core.subscription
         public OperateResult Off()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Off").StartRecord();
+            Depart("Off");
             try
             {
                 //监控开关关闭

+ 7 - 1
src/YSAI.DAQ/YSAI.DAQ.sln

@@ -31,7 +31,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "YSAI.TestConsole", "YSAI.Te
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "YSAI.RabbitMQ", "YSAI.RabbitMQ\YSAI.RabbitMQ.csproj", "{8CE7E64C-7A6A-4581-A9B3-C05214986B4F}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YSAI.Manage", "YSAI.Manage\YSAI.Manage.csproj", "{6E9667C0-303C-472D-949B-60F812E6C659}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "YSAI.Manage", "YSAI.Manage\YSAI.Manage.csproj", "{6E9667C0-303C-472D-949B-60F812E6C659}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "YSAI.Manage.Core", "YSAI.Manage.Core\YSAI.Manage.Core.csproj", "{57F9FF57-ADD3-40B0-AE20-C2F88A2784A0}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -95,6 +97,10 @@ Global
 		{6E9667C0-303C-472D-949B-60F812E6C659}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{6E9667C0-303C-472D-949B-60F812E6C659}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{6E9667C0-303C-472D-949B-60F812E6C659}.Release|Any CPU.Build.0 = Release|Any CPU
+		{57F9FF57-ADD3-40B0-AE20-C2F88A2784A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{57F9FF57-ADD3-40B0-AE20-C2F88A2784A0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{57F9FF57-ADD3-40B0-AE20-C2F88A2784A0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{57F9FF57-ADD3-40B0-AE20-C2F88A2784A0}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 1 - 1
src/YSAI.DAQ/YSAI.DB/DBOperate.cs

@@ -624,7 +624,7 @@ namespace YSAI.DB
         public OperateResult Read(Address address)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Read").StartRecord();
+            Depart("Read");
             try
             {
                 List<ConcurrentDictionary<string, AddressValue>> RetData = new List<ConcurrentDictionary<string, AddressValue>>();

+ 8 - 8
src/YSAI.DAQ/YSAI.Kafka/KafkaAdminOperate.cs

@@ -72,10 +72,15 @@ namespace YSAI.Kafka
         }
         protected override string LogHead => "[ KafkaAdminOperate 操作 ]";
         protected override string ClassName => "KafkaAdminOperate";
-        public async Task<OperateResult> CreateTopicsAsync(List<string> Topics)
+        public Task<OperateResult> CreateTopicsAsync(List<string> Topics)
+        {
+            return Task.Run(() => CreateTopics(Topics));
+        }
+
+        public OperateResult CreateTopics(List<string> Topics)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.CreateTopics").StartRecord();
+            Depart("CreateTopics");
             try
             {
                 if (adminClientConfig == null)
@@ -104,7 +109,7 @@ namespace YSAI.Kafka
                         });
                     }
                     //执行创建
-                    await adminClient.CreateTopicsAsync(topicSpecifications);
+                    adminClient.CreateTopicsAsync(topicSpecifications).Wait();
                     //返回
                     return Break("CreateTopics", true, "主题集合创建成功");
                 }
@@ -114,10 +119,5 @@ namespace YSAI.Kafka
                 return Break("CreateTopics", false, ex.Message);
             }
         }
-
-        public OperateResult CreateTopics(List<string> Topics)
-        {
-            return CreateTopicsAsync(Topics).Result;   
-        }
     }
 }

+ 2 - 2
src/YSAI.DAQ/YSAI.Kafka/KafkaConsumerOperate.cs

@@ -125,7 +125,7 @@ namespace YSAI.Kafka
         public OperateResult Consume(string Topic)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Consume").StartRecord();
+            Depart("Consume");
             try
             {
                 //实例化订阅数据集合
@@ -188,7 +188,7 @@ namespace YSAI.Kafka
         public OperateResult Consume(List<string> Topics)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Consume").StartRecord();
+            Depart("Consume");
             try
             {
                 //实例化订阅数据集合

+ 1 - 1
src/YSAI.DAQ/YSAI.Kafka/KafkaProducerOperate.cs

@@ -67,7 +67,7 @@ namespace YSAI.Kafka
         public OperateResult Produce(string Topic, object Key, object Value)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Produce").StartRecord();
+            Depart("Produce");
             try
             {
                 //失败的消息

+ 11 - 0
src/YSAI.DAQ/YSAI.Manage.Core/YSAI.Manage.Core.csproj

@@ -6,4 +6,15 @@
     <Nullable>enable</Nullable>
   </PropertyGroup>
 
+  <ItemGroup>
+    <ProjectReference Include="..\YSAI.DB\YSAI.DB.csproj" />
+    <ProjectReference Include="..\YSAI.Kafka\YSAI.Kafka.csproj" />
+    <ProjectReference Include="..\YSAI.Modbus\YSAI.Modbus.csproj" />
+    <ProjectReference Include="..\YSAI.Mqtt\YSAI.Mqtt.csproj" />
+    <ProjectReference Include="..\YSAI.Opc\YSAI.Opc.csproj" />
+    <ProjectReference Include="..\YSAI.RabbitMQ\YSAI.RabbitMQ.csproj" />
+    <ProjectReference Include="..\YSAI.Redis\YSAI.Redis.csproj" />
+    <ProjectReference Include="..\YSAI.S7\YSAI.S7.csproj" />
+  </ItemGroup>
+
 </Project>

+ 2 - 2
src/YSAI.DAQ/YSAI.Manage/Controllers/DaqLibInfoController.cs

@@ -53,7 +53,7 @@ namespace YSAI.Manage.Controllers
         public IActionResult Array()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{operateResult.ClassName}.Array").StartRecord();
+            operateResult.Depart("Array");
             return Ok(operateResult.Break("Array", true,RData:EnumTool.EnumToList<DaqType>(), RType:ResultType.Json));
         }
 
@@ -66,7 +66,7 @@ namespace YSAI.Manage.Controllers
         public IActionResult Param(string Name)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{operateResult.ClassName}.Param").StartRecord();
+            operateResult.Depart("Param");
 
             DaqType daqType = (DaqType)Enum.Parse(typeof(DaqType), Name);
 

+ 9 - 5
src/YSAI.DAQ/YSAI.Manage/Controllers/DaqLibOperateController.cs

@@ -50,8 +50,6 @@ namespace YSAI.Manage.Controllers
         [HttpGet]
         public IActionResult Sample()
         {
-            //开始记录运行时间
-            RunTimeTool.Instance($"{operateResult.ClassName}.Sample").StartRecord();
             Address address = JsonTool.StringToJsonEntity<Address>(FileTool.FileToString("Sample.json"));
             AddressManage addressManage = new AddressManage();
             addressManage.SN = address.SN;
@@ -71,7 +69,7 @@ namespace YSAI.Manage.Controllers
         public async Task<IActionResult> Setting(IFormFile? ConfigFile)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{operateResult.ClassName}.Setting").StartRecord();
+            operateResult.Depart("Setting");
             try
             {
                 if (ConfigFile == null || ConfigFile.Length == 0)
@@ -110,7 +108,7 @@ namespace YSAI.Manage.Controllers
         public async Task<IActionResult> Update(IFormFile? ConfigFile)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{operateResult.ClassName}.Update").StartRecord();
+            operateResult.Depart("Update");
             try
             {
                 if (ConfigFile == null || ConfigFile.Length == 0)
@@ -138,7 +136,7 @@ namespace YSAI.Manage.Controllers
         public IActionResult Init()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{operateResult.ClassName}.Init").StartRecord();
+            operateResult.Depart("Init");
             try
             {
                
@@ -199,5 +197,11 @@ namespace YSAI.Manage.Controllers
         {
             return Ok();
         }
+
+        [HttpPost]
+        public OperateResult Test()
+        {
+            return operateResult.Break("Test",true,"测试成功");
+        }
     }
 }

+ 2 - 2
src/YSAI.DAQ/YSAI.Manage/Controllers/RelayLibInfoController.cs

@@ -41,7 +41,7 @@ namespace YSAI.Manage.Controllers
         public IActionResult Array()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{operateResult.ClassName}.Array").StartRecord();
+            operateResult.Depart("Array");
             return Ok(operateResult.Break("Array", true, RData: EnumTool.EnumToList<RelayType>(), RType: ResultType.Json));
         }
 
@@ -54,7 +54,7 @@ namespace YSAI.Manage.Controllers
         public IActionResult Param(string Name)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{operateResult.ClassName}.Param").StartRecord();
+            operateResult.Depart("Param");
 
             RelayType daqType = (RelayType)Enum.Parse(typeof(RelayType), Name);
 

+ 19 - 0
src/YSAI.DAQ/YSAI.Manage/Or.cs

@@ -19,6 +19,25 @@ namespace YSAI.Manage
         /// 自身类名,用于统一返回
         /// </summary>
         public string ClassName { get; set; }
+
+        /// <summary>
+        /// 出发,记录运行时间
+        /// </summary>
+        /// <param name="MethodName">方法名</param>
+        public void Depart(string MethodName)
+        {
+            RunTimeTool.Instance($"{ClassName}.{MethodName}").StartRecord();
+        }
+
+        /// <summary>
+        /// 出发,记录运行时间
+        /// </summary>
+        /// <param name="MethodName">方法名</param>
+        public Task DepartAsync(string MethodName)
+        {
+            return Task.Run(() => Depart(MethodName));
+        }
+
         /// <summary>
         /// 异步统一返回
         /// </summary>

+ 10 - 10
src/YSAI.DAQ/YSAI.Modbus/client/ModbusClientOperate.cs

@@ -193,7 +193,7 @@ namespace YSAI.Modbus.client
         public OperateResult On()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.On").StartRecord();
+            Depart("On");
             try
             {
                 if (modbusMaster != null)
@@ -306,7 +306,7 @@ namespace YSAI.Modbus.client
         public OperateResult Off()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Off").StartRecord();
+            Depart("Off");
             try
             {
                 if (modbusMaster == null)
@@ -337,7 +337,7 @@ namespace YSAI.Modbus.client
         public OperateResult ReadCoils(Address address)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.ReadCoils").StartRecord();
+            Depart("ReadCoils");
             try
             {
                 if (modbusMaster == null)
@@ -395,7 +395,7 @@ namespace YSAI.Modbus.client
         public OperateResult ReadInputs(Address address)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.ReadInputs").StartRecord();
+            Depart("ReadInputs");
             try
             {
                 if (modbusMaster == null)
@@ -452,7 +452,7 @@ namespace YSAI.Modbus.client
         public OperateResult ReadHoldingRegisters(Address address, int DataType = 5)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.ReadHoldingRegisters").StartRecord();
+            Depart("ReadHoldingRegisters");
             try
             {
                 if (modbusMaster == null)
@@ -508,7 +508,7 @@ namespace YSAI.Modbus.client
         public OperateResult ReadInputRegisters(Address address, int DataType = 5)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.ReadInputRegisters").StartRecord();
+            Depart("ReadInputRegisters");
             try
             {
                 if (modbusMaster == null)
@@ -565,7 +565,7 @@ namespace YSAI.Modbus.client
         public OperateResult WriteSingleCoil(ConcurrentDictionary<ushort, bool> Values)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.WriteSingleCoil").StartRecord();
+            Depart("WriteSingleCoil");
             try
             {
                 if (modbusMaster == null)
@@ -592,7 +592,7 @@ namespace YSAI.Modbus.client
         public OperateResult WriteSingleRegister(ConcurrentDictionary<ushort, ushort> Values)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.WriteSingleRegister").StartRecord();
+            Depart("WriteSingleRegister");
             try
             {
                 if (modbusMaster == null)
@@ -619,7 +619,7 @@ namespace YSAI.Modbus.client
         public OperateResult WriteMultipleRegisters(ConcurrentDictionary<ushort, ushort[]> Values)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.WriteMultipleRegisters").StartRecord();
+            Depart("WriteMultipleRegisters");
             try
             {
                 if (modbusMaster == null)
@@ -646,7 +646,7 @@ namespace YSAI.Modbus.client
         public OperateResult WriteMultipleCoils(ConcurrentDictionary<ushort, bool[]> Values)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.WriteMultipleCoils").StartRecord();
+            Depart("WriteMultipleCoils");
             try
             {
                 if (modbusMaster == null)

+ 33 - 33
src/YSAI.DAQ/YSAI.Mqtt/client/MqttClientOperate.cs

@@ -108,10 +108,15 @@ namespace YSAI.Mqtt.client
 
         protected override string ClassName => "MqttClientOperate";
 
-        public async Task<OperateResult> PublishSubscribeAsync(string Topic, string Value, int QoSLevel = 0, bool Retain = false)
+        public Task<OperateResult> PublishSubscribeAsync(string Topic, string Value, int QoSLevel = 0, bool Retain = false)
+        {
+            return Task.Run(()=> PublishSubscribe(Topic, Value, QoSLevel, Retain));
+        }
+
+        public OperateResult PublishSubscribe(string Topic, string Value, int QoSLevel = 0, bool Retain = false)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.PublishSubscribe").StartRecord();
+            Depart("PublishSubscribe");
             try
             {
                 MqttApplicationMessage mqttApplicationMessage = new MqttApplicationMessage();
@@ -124,7 +129,7 @@ namespace YSAI.Mqtt.client
                 //消息是否保留
                 mqttApplicationMessage.Retain = Retain;
                 //发布(异步)等待执行完成
-                MqttClientPublishResult mqttClientPublishResult = await mqttClient.PublishAsync(mqttApplicationMessage);
+                MqttClientPublishResult mqttClientPublishResult = mqttClient.PublishAsync(mqttApplicationMessage).Result;
                 if (mqttClientPublishResult.IsSuccess)
                 {
                     return Break("PublishSubscribe", true);
@@ -140,19 +145,19 @@ namespace YSAI.Mqtt.client
             }
         }
 
-        public OperateResult PublishSubscribe(string Topic, string Value, int QoSLevel = 0, bool Retain = false)
+        public Task<OperateResult> AddSubscribeAsync(string Topic, int QoSLevel = 0)
         {
-            return PublishSubscribeAsync(Topic, Value, QoSLevel, Retain).Result;
+            return Task.Run(() => AddSubscribe(Topic, QoSLevel));
         }
 
-        public async Task<OperateResult> AddSubscribeAsync(string Topic, int QoSLevel = 0)
+        public OperateResult AddSubscribe(string Topic, int QoSLevel = 0)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.AddSubscribe").StartRecord();
+            Depart("AddSubscribe");
             try
             {
                 //添加订阅 (异步)等待执行完成
-                await mqttClient.SubscribeAsync(Topic, (MqttQualityOfServiceLevel)QoSLevel);
+                mqttClient.SubscribeAsync(Topic, (MqttQualityOfServiceLevel)QoSLevel).Wait();
                 return Break("AddSubscribe", true);
             }
             catch (Exception ex)
@@ -161,19 +166,19 @@ namespace YSAI.Mqtt.client
             }
         }
 
-        public OperateResult AddSubscribe(string Topic, int QoSLevel = 0)
+        public Task<OperateResult> RemoveSubscribeAsync(string Topic)
         {
-            return AddSubscribeAsync(Topic, QoSLevel).Result;
+            return Task.Run(()=> RemoveSubscribe(Topic));
         }
 
-        public async Task<OperateResult> RemoveSubscribeAsync(string Topic)
+        public OperateResult RemoveSubscribe(string Topic)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.RemoveSubscribe").StartRecord();
+            Depart("RemoveSubscribe");
             try
             {
                 //移除订阅 (异步)等待执行完成
-                await mqttClient.UnsubscribeAsync(Topic);
+                mqttClient.UnsubscribeAsync(Topic).Wait();
                 return Break("RemoveSubscribe", true);
             }
             catch (Exception ex)
@@ -182,11 +187,6 @@ namespace YSAI.Mqtt.client
             }
         }
 
-        public OperateResult RemoveSubscribe(string Topic)
-        {
-            return RemoveSubscribeAsync(Topic).Result;
-        }
-
         public Task<OperateResult> InitAsync()
         {
             return Task.Run(() => Init());
@@ -195,11 +195,11 @@ namespace YSAI.Mqtt.client
         public OperateResult Init()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Init").StartRecord();
+            Depart("Init");
             try
             {
                 //工厂模式获取连接客户端对象
-                mqttClient = new MqttFactory().CreateMqttClient() as MqttClient;
+                mqttClient = new MqttFactory().CreateMqttClient() as MQTTnet.Client.MqttClient;
 
                 //客户端支持 Connected、Disconnected 和 ApplicationMessageReceived 事件,
                 //用来处理客户端与服务端连接、客户端从服务端断开以及客户端收到消息的事情。
@@ -218,10 +218,15 @@ namespace YSAI.Mqtt.client
             }
         }
 
-        public async Task<OperateResult> OnAsync()
+        public Task<OperateResult> OnAsync()
+        {
+            return Task.Run(() => On());
+        }
+
+        public OperateResult On()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.On").StartRecord();
+            Depart("On");
             try
             {
                 MqttClientOptionsBuilder mqttClientOptionsBuilder = new MqttClientOptionsBuilder();
@@ -238,7 +243,7 @@ namespace YSAI.Mqtt.client
                 //存活时间
                 mqttClientOptionsBuilder.WithKeepAlivePeriod(TimeSpan.MaxValue);
                 //连接服务器(异步)
-                await mqttClient.ConnectAsync(mqttClientOptionsBuilder.Build());
+                mqttClient.ConnectAsync(mqttClientOptionsBuilder.Build()).Wait();
                 //设置状态
                 states = States.On;
                 return Break("On", true);
@@ -250,19 +255,19 @@ namespace YSAI.Mqtt.client
             }
         }
 
-        public OperateResult On()
+        public Task<OperateResult> OffAsync()
         {
-            return OnAsync().Result;
+            return Task.Run(() => Off());
         }
 
-        public async Task<OperateResult> OffAsync()
+        public OperateResult Off()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Off").StartRecord();
+            Depart("Off");
             try
             {
                 //关闭与服务器的连接(异步)(等待执行完成)
-                await mqttClient.DisconnectAsync();
+                mqttClient.DisconnectAsync().Wait();
                 //设置状态
                 states = States.Off;
                 return Break("Off", true);
@@ -272,10 +277,5 @@ namespace YSAI.Mqtt.client
                 return Break("Off", false, ex.Message);
             }
         }
-
-        public OperateResult Off()
-        {
-            return OffAsync().Result;
-        }
     }
 }

+ 14 - 14
src/YSAI.DAQ/YSAI.Mqtt/service/MqttServiceOperate.cs

@@ -217,7 +217,7 @@ namespace YSAI.Mqtt.service
         public OperateResult Init()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Init").StartRecord();
+            Depart("Init");
             try
             {
                 //实例化对象
@@ -256,14 +256,19 @@ namespace YSAI.Mqtt.service
             }
         }
 
-        public async Task<OperateResult> OnAsync()
+        public Task<OperateResult> OnAsync()
+        {
+            return Task.Run(()=> On());
+        }
+
+        public OperateResult On()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.On").StartRecord();
+            Depart("On");
             try
             {
                 //启动服务(异步)等待执行完成
-                await mqttServer.StartAsync();
+                mqttServer.StartAsync().Wait();
                 //设置状态
                 states = States.On;
                 return Break("On", true);
@@ -274,19 +279,19 @@ namespace YSAI.Mqtt.service
             }
         }
 
-        public OperateResult On()
+        public Task<OperateResult> OffAsync()
         {
-            return OnAsync().Result;
+            return Task.Run(()=> Off());
         }
 
-        public async Task<OperateResult> OffAsync()
+        public OperateResult Off()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Off").StartRecord();
+            Depart("Off");
             try
             {
                 //关闭服务(异步)等待执行完成
-                await mqttServer.StopAsync();
+                mqttServer.StopAsync().Wait();
                 //释放
                 mqttServer.Dispose();
                 //设置状态
@@ -298,10 +303,5 @@ namespace YSAI.Mqtt.service
                 return Break("Off", false, ex.Message);
             }
         }
-
-        public OperateResult Off()
-        {
-            return OffAsync().Result;
-        }
     }
 }

+ 1 - 1
src/YSAI.DAQ/YSAI.Mqtt/service/websocket/MqttWebSocketServiceOperate.cs

@@ -118,7 +118,7 @@ namespace YSAI.Mqtt.service.websocket
         public OperateResult On()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.On").StartRecord();
+            Depart("On");
             try
             {
                 if (!NetPortTool.ClearSamePortProcess(mqttServiceData_Static.Port))

+ 15 - 15
src/YSAI.DAQ/YSAI.Opc/da/client/OpcDaClientOperate.cs

@@ -225,7 +225,7 @@ namespace YSAI.Opc.da.client
         public OperateResult AddGroup(string GroupName, bool IsSubscribed = false, int UpdateRate = 200)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.AddGroup").StartRecord();
+            Depart("AddGroup");
             try
             {
                 if (opcDaClient != null && opcDaClient.IsConnected)
@@ -276,7 +276,7 @@ namespace YSAI.Opc.da.client
         public OperateResult AddNode(Address address, string GroupName, bool IsSubscribed = false, int UpdateRate = 200)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.AddNode").StartRecord();
+            Depart("AddNode");
             try
             {
                 if (opcDaClient != null && opcDaClient.IsConnected)
@@ -372,7 +372,7 @@ namespace YSAI.Opc.da.client
         public OperateResult UpdateGroupSubscribedState(string GroupName, bool IsSubscribed)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.UpdateGroupSubscribedState").StartRecord();
+            Depart("UpdateGroupSubscribedState");
             try
             {
                 if (opcDaClient != null && opcDaClient.IsConnected)
@@ -415,7 +415,7 @@ namespace YSAI.Opc.da.client
         public OperateResult RemoveGroup(string GroupName)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.RemoveGroup").StartRecord();
+            Depart("RemoveGroup");
             try
             {
                 if (opcDaClient != null && opcDaClient.IsConnected)
@@ -466,7 +466,7 @@ namespace YSAI.Opc.da.client
         public OperateResult RemoveNode(string NodeName, string? GroupName = null)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.RemoveNode").StartRecord();
+            Depart("RemoveNode");
             try
             {
                 if (opcDaClient != null && opcDaClient.IsConnected)
@@ -542,7 +542,7 @@ namespace YSAI.Opc.da.client
         public OperateResult On()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.On").StartRecord();
+            Depart("On");
             try
             {
                 if (opcDaClient == null)
@@ -587,7 +587,7 @@ namespace YSAI.Opc.da.client
         public OperateResult Off()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Off").StartRecord();
+            Depart("Off");
             try
             {
                 if (opcDaClient != null && opcDaClient.IsConnected)
@@ -615,7 +615,7 @@ namespace YSAI.Opc.da.client
         public OperateResult Read(Address address)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Read").StartRecord();
+            Depart("Read");
             try
             {
                 if (opcDaClient != null && opcDaClient.IsConnected)
@@ -682,10 +682,15 @@ namespace YSAI.Opc.da.client
             return Break("Read", false, "读取失败");
         }
 
-        public async Task<OperateResult> WriteAsync<V>(ConcurrentDictionary<string, V> Values)
+        public Task<OperateResult> WriteAsync<V>(ConcurrentDictionary<string, V> Values)
+        {
+            return Task.Run(() => Write(Values));
+        }
+
+        public OperateResult Write<V>(ConcurrentDictionary<string, V> Values)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Write").StartRecord();
+            Depart("Write");
             try
             {
                 if (opcDaClient != null && opcDaClient.IsConnected)
@@ -741,10 +746,5 @@ namespace YSAI.Opc.da.client
                 return Break("Write", false, ex.Message);
             }
         }
-
-        public OperateResult Write<V>(ConcurrentDictionary<string, V> Values)
-        {
-            return WriteAsync(Values).Result;
-        }
     }
 }

+ 3 - 3
src/YSAI.DAQ/YSAI.Opc/da/http/OpcDaHttpOperate.cs

@@ -79,7 +79,7 @@ namespace YSAI.Opc.da.http
         private (string ResponseData, int StateCode, double MilliSeconds) HttpRequest(string Url, string Param, string HttpMethod = "POST")
         {
             //开始记录运行时间
-            RunTimeTool.Instance("OpcDaHttpOperate.HttpRequest").StartRecord();
+            Depart("HttpRequest");
             HttpClient httpClient = new HttpClient();
             httpClient.Timeout = new TimeSpan(0, 0, 0, 5);  //超时间
             HttpRequestMessage? request = null;  //请求
@@ -162,7 +162,7 @@ namespace YSAI.Opc.da.http
         public OperateResult Request(int requestApi, object? Param = null)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Request").StartRecord();
+            Depart("Request");
             OpcDaHttpData.RequestMethod request = (OpcDaHttpData.RequestMethod)requestApi;
             try
             {
@@ -256,7 +256,7 @@ namespace YSAI.Opc.da.http
         public OperateResult Read(Address address)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Read").StartRecord();
+            Depart("Read");
             try
             {
                 //最终节点数据

+ 8 - 8
src/YSAI.DAQ/YSAI.Opc/ua/client/OpcUaClientOperate.cs

@@ -702,7 +702,7 @@ namespace YSAI.Opc.ua.client
         public OperateResult AddSubscribe(ConcurrentDictionary<string, List<AddressDetails>> param, byte Priority = 100)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.AddSubscribe").StartRecord();
+            Depart("AddSubscribe");
             try
             {
                 if (!IsConnected)
@@ -854,7 +854,7 @@ namespace YSAI.Opc.ua.client
         public OperateResult RemoveSubscribe(List<AddressDetails> Nodes)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.RemoveSubscribe").StartRecord();
+            Depart("RemoveSubscribe");
             try
             {
                 if (!IsConnected)
@@ -919,7 +919,7 @@ namespace YSAI.Opc.ua.client
         public OperateResult DeleteNode(string Key)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.DeleteNode").StartRecord();
+            Depart("DeleteNode");
             try
             {
                 if (!IsConnected)
@@ -957,7 +957,7 @@ namespace YSAI.Opc.ua.client
         public OperateResult Init()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Init").StartRecord();
+            Depart("Init");
             try
             {
                 //实例化对象
@@ -1022,7 +1022,7 @@ namespace YSAI.Opc.ua.client
         public OperateResult On()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.On").StartRecord();
+            Depart("On");
             try
             {
                 if (AC != null)
@@ -1081,7 +1081,7 @@ namespace YSAI.Opc.ua.client
         public OperateResult Off()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Off").StartRecord();
+            Depart("Off");
             try
             {
                 if (!IsConnected)
@@ -1118,7 +1118,7 @@ namespace YSAI.Opc.ua.client
         public OperateResult Read(Address address)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Read").StartRecord();
+            Depart("Read");
             List<AddressDetails> Nodes = address.AddressArray;
             try
             {
@@ -1191,7 +1191,7 @@ namespace YSAI.Opc.ua.client
         public OperateResult Write<V>(ConcurrentDictionary<string, V> Values)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Writes").StartRecord();
+            Depart("Write");
             try
             {
                 OperateResult? reverseBack = null;

+ 2 - 2
src/YSAI.DAQ/YSAI.Opc/ua/service/OpcUaServiceOperate.cs

@@ -215,7 +215,7 @@ namespace YSAI.Opc.ua.service
         public OperateResult On()
         {
             //开始记录运行时间
-            RunTimeTool.Instance("OpcUaServiceOperate.On").StartRecord();
+            Depart("On");
             try
             {
                 ApplicationInstance.MessageDlg = new MessageDlg();
@@ -284,7 +284,7 @@ namespace YSAI.Opc.ua.service
         public OperateResult Off()
         {
             //开始记录运行时间
-            RunTimeTool.Instance("OpcUaServiceOperate.Off").StartRecord();
+            Depart("Off");
             try
             {
                 if (!IsStart)

+ 3 - 3
src/YSAI.DAQ/YSAI.RabbitMQ/RabbitMQConsumerOperate.cs

@@ -98,7 +98,7 @@ namespace YSAI.RabbitMQ
         public OperateResult On()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.On").StartRecord();
+            Depart("On");
             try
             {
                 if (connection == null || !connection.IsOpen)
@@ -138,7 +138,7 @@ namespace YSAI.RabbitMQ
         public OperateResult Off()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Off").StartRecord();
+            Depart("Off");
             try
             {
                 if (connection == null || !connection.IsOpen)
@@ -175,7 +175,7 @@ namespace YSAI.RabbitMQ
         public OperateResult Consume(string MessageHead, string Type = "topic", bool AutoAck = false, bool Durable = true, bool Exclusive = false, bool AutoDelete = false)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Consume").StartRecord();
+            Depart("Consume");
             try
             {
                 if (connection == null || !connection.IsOpen)

+ 3 - 3
src/YSAI.DAQ/YSAI.RabbitMQ/RabbitMQPublisherOperate.cs

@@ -85,7 +85,7 @@ namespace YSAI.RabbitMQ
         public OperateResult On()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.On").StartRecord();
+            Depart("On");
             try
             {
                 if (connection == null || !connection.IsOpen)
@@ -125,7 +125,7 @@ namespace YSAI.RabbitMQ
         public OperateResult Off()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Off").StartRecord();
+            Depart("Off");
             try
             {
                 if (connection == null || !connection.IsOpen)
@@ -161,7 +161,7 @@ namespace YSAI.RabbitMQ
         public OperateResult Publish(string MessageHead, string MessageContent, string Type = "topic", bool Durable = true, bool Exclusive = false, bool AutoDelete = false)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Publish").StartRecord();
+            Depart("Publish");
             try
             {
                 if (connection == null || !connection.IsOpen)

+ 4 - 4
src/YSAI.DAQ/YSAI.S7/client/S7ClientOperate.cs

@@ -82,7 +82,7 @@ namespace YSAI.S7.client
         public OperateResult On()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.On").StartRecord();
+            Depart("On");
             try
             {
                 if (PlcS7 == null)
@@ -123,7 +123,7 @@ namespace YSAI.S7.client
         public OperateResult Off()
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Off").StartRecord();
+            Depart("Off");
             try
             {
                 if (PlcS7 != null)
@@ -151,7 +151,7 @@ namespace YSAI.S7.client
         public OperateResult Read(Address address)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Read").StartRecord();
+            Depart("Read");
             try
             {
                 if (PlcS7 != null && PlcS7.IsConnected)
@@ -212,7 +212,7 @@ namespace YSAI.S7.client
         public OperateResult Write<V>(ConcurrentDictionary<string, V> Values)
         {
             //开始记录运行时间
-            RunTimeTool.Instance($"{ClassName}.Write").StartRecord();
+            Depart("Write");
             try
             {
                 if (PlcS7 != null && PlcS7.IsConnected)

+ 0 - 6
src/YSAI.DAQ/YSAI.TestConsole/YSAI.TestConsole.csproj

@@ -19,10 +19,4 @@
     <ProjectReference Include="..\YSAI.S7\YSAI.S7.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <None Update="Sample.csv">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
-  </ItemGroup>
-
 </Project>