黄宗银 1 ano atrás
pai
commit
a0891e91dc
90 arquivos alterados com 1507 adições e 504 exclusões
  1. 3 3
      charge32/DockerBuild.txt
  2. BIN
      charge32/charge32/Apq.Web5.dll
  3. BIN
      charge32/charge32/Apq.Web5.pdb
  4. BIN
      charge32/charge32/Apq.dll
  5. BIN
      charge32/charge32/Apq.pdb
  6. 492 5
      charge32/charge32/Apq.xml
  7. BIN
      charge32/charge32/CP.dll
  8. BIN
      charge32/charge32/CP.pdb
  9. 249 235
      charge32/charge32/Charge32.deps.json
  10. BIN
      charge32/charge32/Charge32.dll
  11. BIN
      charge32/charge32/Charge32.exe
  12. BIN
      charge32/charge32/Charge32.pdb
  13. 6 6
      charge32/charge32/Charge32.xml
  14. BIN
      charge32/charge32/DB.DS32.dll
  15. BIN
      charge32/charge32/DB.DS32.pdb
  16. BIN
      charge32/charge32/DB.DSUser32.dll
  17. BIN
      charge32/charge32/DB.DSUser32.pdb
  18. 3 3
      charge32/charge32/DockerBuild.txt
  19. BIN
      charge32/charge32/Google.Protobuf.dll
  20. BIN
      charge32/charge32/Microsoft.AspNetCore.Grpc.JsonTranscoding.dll
  21. BIN
      charge32/charge32/Microsoft.AspNetCore.Grpc.Swagger.dll
  22. BIN
      charge32/charge32/Microsoft.Data.SqlClient.dll
  23. BIN
      charge32/charge32/Microsoft.Data.Sqlite.dll
  24. BIN
      charge32/charge32/Microsoft.EntityFrameworkCore.Abstractions.dll
  25. BIN
      charge32/charge32/Microsoft.EntityFrameworkCore.InMemory.dll
  26. BIN
      charge32/charge32/Microsoft.EntityFrameworkCore.Relational.dll
  27. BIN
      charge32/charge32/Microsoft.EntityFrameworkCore.SqlServer.dll
  28. BIN
      charge32/charge32/Microsoft.EntityFrameworkCore.Sqlite.dll
  29. BIN
      charge32/charge32/Microsoft.EntityFrameworkCore.dll
  30. BIN
      charge32/charge32/Microsoft.Extensions.DependencyInjection.Abstractions.dll
  31. BIN
      charge32/charge32/Microsoft.Extensions.Logging.Abstractions.dll
  32. BIN
      charge32/charge32/Microsoft.IdentityModel.Abstractions.dll
  33. BIN
      charge32/charge32/Microsoft.IdentityModel.JsonWebTokens.dll
  34. BIN
      charge32/charge32/Microsoft.IdentityModel.Logging.dll
  35. BIN
      charge32/charge32/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll
  36. BIN
      charge32/charge32/Microsoft.IdentityModel.Protocols.dll
  37. BIN
      charge32/charge32/Microsoft.IdentityModel.Tokens.dll
  38. BIN
      charge32/charge32/OpenQQ.dll
  39. BIN
      charge32/charge32/OpenQQ.pdb
  40. BIN
      charge32/charge32/Pb.dll
  41. BIN
      charge32/charge32/Pb.pdb
  42. BIN
      charge32/charge32/System.IdentityModel.Tokens.Jwt.dll
  43. BIN
      charge32/charge32/log4net.dll
  44. BIN
      charge32/charge32/runtimes/unix/lib/net6.0/Microsoft.Data.SqlClient.dll
  45. BIN
      charge32/charge32/runtimes/win/lib/net6.0/Microsoft.Data.SqlClient.dll
  46. 3 3
      charge64/DockerBuild.txt
  47. BIN
      charge64/charge64/Apq.Web5.dll
  48. BIN
      charge64/charge64/Apq.Web5.pdb
  49. BIN
      charge64/charge64/Apq.dll
  50. BIN
      charge64/charge64/Apq.pdb
  51. 492 5
      charge64/charge64/Apq.xml
  52. BIN
      charge64/charge64/CP.dll
  53. BIN
      charge64/charge64/CP.pdb
  54. 249 235
      charge64/charge64/Charge64.deps.json
  55. BIN
      charge64/charge64/Charge64.dll
  56. BIN
      charge64/charge64/Charge64.exe
  57. BIN
      charge64/charge64/Charge64.pdb
  58. 7 6
      charge64/charge64/Charge64.xml
  59. BIN
      charge64/charge64/DB.DS64.dll
  60. BIN
      charge64/charge64/DB.DS64.pdb
  61. BIN
      charge64/charge64/DB.DSUser64.dll
  62. BIN
      charge64/charge64/DB.DSUser64.pdb
  63. 3 3
      charge64/charge64/DockerBuild.txt
  64. BIN
      charge64/charge64/Google.Protobuf.dll
  65. BIN
      charge64/charge64/Microsoft.AspNetCore.Grpc.JsonTranscoding.dll
  66. BIN
      charge64/charge64/Microsoft.AspNetCore.Grpc.Swagger.dll
  67. BIN
      charge64/charge64/Microsoft.Data.SqlClient.dll
  68. BIN
      charge64/charge64/Microsoft.Data.Sqlite.dll
  69. BIN
      charge64/charge64/Microsoft.EntityFrameworkCore.Abstractions.dll
  70. BIN
      charge64/charge64/Microsoft.EntityFrameworkCore.InMemory.dll
  71. BIN
      charge64/charge64/Microsoft.EntityFrameworkCore.Relational.dll
  72. BIN
      charge64/charge64/Microsoft.EntityFrameworkCore.SqlServer.dll
  73. BIN
      charge64/charge64/Microsoft.EntityFrameworkCore.Sqlite.dll
  74. BIN
      charge64/charge64/Microsoft.EntityFrameworkCore.dll
  75. BIN
      charge64/charge64/Microsoft.Extensions.DependencyInjection.Abstractions.dll
  76. BIN
      charge64/charge64/Microsoft.Extensions.Logging.Abstractions.dll
  77. BIN
      charge64/charge64/Microsoft.IdentityModel.Abstractions.dll
  78. BIN
      charge64/charge64/Microsoft.IdentityModel.JsonWebTokens.dll
  79. BIN
      charge64/charge64/Microsoft.IdentityModel.Logging.dll
  80. BIN
      charge64/charge64/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll
  81. BIN
      charge64/charge64/Microsoft.IdentityModel.Protocols.dll
  82. BIN
      charge64/charge64/Microsoft.IdentityModel.Tokens.dll
  83. BIN
      charge64/charge64/OpenQQ.dll
  84. BIN
      charge64/charge64/OpenQQ.pdb
  85. BIN
      charge64/charge64/Pb.dll
  86. BIN
      charge64/charge64/Pb.pdb
  87. BIN
      charge64/charge64/System.IdentityModel.Tokens.Jwt.dll
  88. BIN
      charge64/charge64/log4net.dll
  89. BIN
      charge64/charge64/runtimes/unix/lib/net6.0/Microsoft.Data.SqlClient.dll
  90. BIN
      charge64/charge64/runtimes/win/lib/net6.0/Microsoft.Data.SqlClient.dll

+ 3 - 3
charge32/DockerBuild.txt

@@ -17,9 +17,9 @@ cd DockerImg/charge32/
 docker login [email protected] registry.cn-guangzhou.aliyuncs.com
 
 # amd64上
-docker rmi registry.cn-guangzhou.aliyuncs.com/apq/charge32:amd64_20240315
-docker build -t registry.cn-guangzhou.aliyuncs.com/apq/charge32:amd64_20240315 .
-docker push registry.cn-guangzhou.aliyuncs.com/apq/charge32:amd64_20240315
+docker rmi registry.cn-guangzhou.aliyuncs.com/apq/charge32:amd64_20240318
+docker build -t registry.cn-guangzhou.aliyuncs.com/apq/charge32:amd64_20240318 .
+docker push registry.cn-guangzhou.aliyuncs.com/apq/charge32:amd64_20240318
 
 # arm64上
 docker rmi registry.cn-guangzhou.aliyuncs.com/apq/charge32:arm64

BIN
charge32/charge32/Apq.Web5.dll


BIN
charge32/charge32/Apq.Web5.pdb


BIN
charge32/charge32/Apq.dll


BIN
charge32/charge32/Apq.pdb


+ 492 - 5
charge32/charge32/Apq.xml

@@ -3311,6 +3311,11 @@
             全局对象
             </summary>
         </member>
+        <member name="P:Apq.GlobalObject.TheAssembly">
+            <summary>
+            该程序集
+            </summary>
+        </member>
         <member name="P:Apq.GlobalObject.TheProcess">
             <summary>
             当前进程
@@ -3321,11 +3326,6 @@
             当前程序的入口目录。入口程序集(dll或exe)所在目录(以"\"结尾的绝对路径)
             </summary>
         </member>
-        <member name="P:Apq.GlobalObject.TheAssembly">
-            <summary>
-            该程序集
-            </summary>
-        </member>
         <member name="P:Apq.GlobalObject.DllFolder">
             <summary>
             本程序集(dll或exe)所在目录(以"\"结尾的绝对路径)
@@ -3341,6 +3341,11 @@
             Config目录(以"\"结尾)
             </summary>
         </member>
+        <member name="P:Apq.GlobalObject.LogFolder">
+            <summary>
+            日志目录(以"\"结尾)
+            </summary>
+        </member>
         <member name="P:Apq.GlobalObject.NamedInstances">
             <summary>
             命名实例集合
@@ -3476,6 +3481,66 @@
             </summary>
             <remarks>该方法不会产生异常</remarks>
         </member>
+        <member name="T:Apq.Net.FleckWebSocketServer">
+            <summary>
+            代表一个已连接到客户端的长连接(服务端)
+            </summary>
+            <remarks>WebSocket</remarks>
+        </member>
+        <member name="M:Apq.Net.FleckWebSocketServer.#ctor(Fleck.IWebSocketConnection)">
+            <summary>
+            代表一个已连接到客户端的长连接(服务端)
+            </summary>
+            <remarks>WebSocket</remarks>
+        </member>
+        <member name="P:Apq.Net.FleckWebSocketServer.WebSocket">
+            <summary>
+            WebSocket
+            </summary>
+        </member>
+        <member name="M:Apq.Net.FleckWebSocketServer.BindClient">
+            <summary>
+            设置Client相关事件的处理
+            </summary>
+        </member>
+        <member name="M:Apq.Net.FleckWebSocketServer.UnBindClient">
+            <summary>
+            取消Client相关事件的处理
+            </summary>
+        </member>
+        <member name="P:Apq.Net.FleckWebSocketServer.Connected">
+            <summary>
+            是否已连接
+            </summary>
+        </member>
+        <member name="P:Apq.Net.FleckWebSocketServer.ShouldClose">
+            <summary>
+            连接是否应该关闭(已空闲过久)
+            </summary>
+        </member>
+        <member name="M:Apq.Net.FleckWebSocketServer.DoTask_Close(System.String,System.Boolean)">
+            <summary>
+            关闭长连接(实现)
+            </summary>
+            <returns>是否关闭成功</returns>
+        </member>
+        <member name="M:Apq.Net.FleckWebSocketServer.DoSend(System.Collections.Generic.IList{System.Byte},System.Threading.CancellationToken)">
+            <summary>
+            发送数据到客户端(实现)
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="M:Apq.Net.FleckWebSocketServer.DoSend(System.String,System.Threading.CancellationToken)">
+            <summary>
+            发送消息到客户端(实现)
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="M:Apq.Net.FleckWebSocketServer.DoTask_HeartBeat(System.Threading.CancellationToken)">
+            <summary>
+            任务实现:心跳检测
+            </summary>
+        </member>
         <member name="T:Apq.Net.HttpClientHelper">
             <summary>
             使用HttpClient进行Http访问
@@ -3542,6 +3607,428 @@
             <param name="Min">最小值(含)</param>
             <param name="Max">最大值(含)</param>
         </member>
+        <!-- Badly formed XML comment ignored for member "T:Apq.Net.PersistentClient" -->
+        <!-- Badly formed XML comment ignored for member "M:Apq.Net.PersistentClient.#ctor(System.Object)" -->
+        <member name="P:Apq.Net.PersistentClient.SessionID">
+            <summary>
+            服务器分配的客户端标识(会话ID)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.Client">
+            <summary>
+            客户端
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.CTS_Work">
+            <summary>
+            任务的取消令牌:与连接关联的任务(接收、[发送]、心跳)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.CTS_Connect">
+            <summary>
+            任务的取消令牌:连接
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.CTS_PreConnect">
+            <summary>
+            任务的取消令牌:上一次连接
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.Provider_NewClient">
+            <summary>
+            提供:断线重连时创建新连接的方法
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.Init">
+            <summary>
+            对实例进行初始化
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.Dispose(System.Boolean)">
+            <param name="disposing">指定释放类型{true:托管对象,false:未托管对象}</param>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.BindClient">
+            <summary>
+            设置Client相关事件的处理
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.UnBindClient">
+            <summary>
+            取消Client相关事件的处理
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.TryTimes">
+            <summary>
+            已尝试连接的次数
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "P:Apq.Net.PersistentClient.MaxTryTimes" -->
+        <!-- Badly formed XML comment ignored for member "P:Apq.Net.PersistentClient.MaxTryTimes_Runtime" -->
+        <member name="P:Apq.Net.PersistentClient.IsConnecting">
+            <summary>
+            是否正在连接(用于防止重复发起连接)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.HadConnected">
+            <summary>
+            是否曾连接成功过
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.Timeout">
+            <summary>
+            单次连接超时(秒)(国内网络环境,一般情况下3秒就够久了)
+            </summary>
+            <remarks> 总超时时长 = Timeout_Connect * (MaxTryTimes + 1) </remarks>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.Connect">
+            <summary>
+            手动连接服务器(已连接次数归0)
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.DoConnect(System.Int32)">
+            <summary>
+            开启新一轮连接后取消之前的连接
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.DoTask_Connect(System.Int32,System.Threading.CancellationToken)">
+            <summary>
+            等待delay毫秒后启动一次连接
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterConnectTimeout">
+            <summary>
+            连接超时事件
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterConnectError">
+            <summary>
+            连接过程中发生异常时
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterConnected">
+            <summary>
+            连接成功事件
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.Connected">
+            <summary>
+            是否已连接
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.ShouldClose">
+            <summary>
+            连接是否应该关闭(已空闲过久)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.CloseReason">
+            <summary>
+            关闭原因(只接受第一次非空赋值)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.IsCloseByServer">
+            <summary>
+            是否是被服务端断开导致关闭的
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.BeforeClose">
+            <summary>
+            连接关闭前
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterClose">
+            <summary>
+            连接关闭后
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.Close(System.String,System.Boolean)">
+            <summary>
+            新任务中关闭长连接
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.DoTask_Close(System.String,System.Boolean)">
+            <summary>
+            任务实现:关闭长连接
+            </summary>
+            <returns>是否关闭成功</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.Send(System.Collections.Generic.IList{System.Byte},System.Threading.CancellationToken)">
+            <summary>
+            发送数据到服务端
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.SendImp(System.Collections.Generic.IList{System.Byte},System.Threading.CancellationToken)">
+            <summary>
+            发送数据到服务端(实现)
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.Send(System.String,System.Threading.CancellationToken)">
+            <summary>
+            发送消息到服务端
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.SendImp(System.String,System.Threading.CancellationToken)">
+            <summary>
+            发送消息到服务端(实现)
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.BeforeSend">
+            <summary>
+            发送前
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterSend">
+            <summary>
+            发送后
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.BeforeSendMsg">
+            <summary>
+            发送前(文本)
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterSendMsg">
+            <summary>
+            发送后(文本)
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.StartReceive(System.Threading.CancellationToken)">
+            <summary>
+            启动接收任务
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.DoTask_Receive(System.Threading.CancellationToken)">
+            <summary>
+            任务实现:接收
+            </summary>
+            <param name="token"></param>
+            <returns></returns>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterReceiveMsg">
+            <summary>
+            接收到服务端发送的消息后
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterReceiveData">
+            <summary>
+            接收到服务端发送的数据后
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.LastActiveTime">
+            <summary>
+            最后心跳时间
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.Provider_HeartBeatMsg">
+            <summary>
+            提供心跳消息(返回不为空就发)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.Provider_HeartBeatData">
+            <summary>
+            提供心跳数据(返回不为空就发)
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "P:Apq.Net.PersistentClient.MaxTryTimesWhenInterrupted" -->
+        <member name="M:Apq.Net.PersistentClient.StartHeartBeat(System.Threading.CancellationToken)">
+            <summary>
+            启动心跳任务
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.DoTask_HeartBeat(System.Int32,System.Threading.CancellationToken)">
+            <summary>
+            任务实现:心跳检测
+            </summary>
+            <param name="interval">间隔(毫秒)</param>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterHeartBeatTimeout">
+            <summary>
+            心跳超时后
+            </summary>
+            <returns>是否取消心跳任务</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.OnAfterHeartBeatTimeout">
+            <summary>
+            心跳超时后的处理
+            </summary>
+            <returns>是否取消心跳任务</returns>
+        </member>
+        <member name="T:Apq.Net.PersistentServer">
+            <summary>
+            代表一个已连接到客户端的长连接(服务端)
+            </summary>
+            <param name="client">IWebSocketConnection或Socket</param>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.#ctor(System.Object)">
+            <summary>
+            代表一个已连接到客户端的长连接(服务端)
+            </summary>
+            <param name="client">IWebSocketConnection或Socket</param>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.SessionID">
+            <summary>
+            自动分配客户端标识(会话ID)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.Client">
+            <summary>
+            已接受的客户端(已连接)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.CTS_Work">
+            <summary>
+            任务的取消令牌:与连接关联的所有任务
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.Init">
+            <summary>
+            对实例进行初始化
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.Dispose(System.Boolean)">
+            <param name="disposing">指定释放类型{true:托管对象,false:未托管对象}</param>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.BindClient">
+            <summary>
+            设置Client相关事件的处理
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.UnBindClient">
+            <summary>
+            取消Client相关事件的处理
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.ShouldAbandon">
+            <summary>
+            此连接是否应抛弃(不能再用了)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.Connected">
+            <summary>
+            是否已连接
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.ShouldClose">
+            <summary>
+            连接是否应该关闭(已空闲过久)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.CloseReason">
+            <summary>
+            关闭原因(只接受第一次非空赋值)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.IsCloseByClient">
+            <summary>
+            是否是被客户端断开导致关闭的
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.BeforeClose">
+            <summary>
+            连接关闭前
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.AfterClose">
+            <summary>
+            连接关闭后
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.Close(System.String,System.Boolean)">
+            <summary>
+            新任务中关闭长连接
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.DoTask_Close(System.String,System.Boolean)">
+            <summary>
+            任务实现:关闭长连接
+            </summary>
+            <returns>是否关闭成功</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.Send(System.Collections.Generic.IList{System.Byte},System.Threading.CancellationToken)">
+            <summary>
+            发送数据到客户端
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.DoSend(System.Collections.Generic.IList{System.Byte},System.Threading.CancellationToken)">
+            <summary>
+            发送数据到客户端(实现)
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.Send(System.String,System.Threading.CancellationToken)">
+            <summary>
+            发送消息到客户端
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.DoSend(System.String,System.Threading.CancellationToken)">
+            <summary>
+            发送消息到客户端(实现)
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.BeforeSend">
+            <summary>
+            发送前
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.AfterSend">
+            <summary>
+            发送后
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.BeforeSendMsg">
+            <summary>
+            发送前(文本)
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.AfterSendMsg">
+            <summary>
+            发送后(文本)
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.AfterReceiveMsg">
+            <summary>
+            接收到客户端发送的消息后
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.AfterReceiveData">
+            <summary>
+            接收到客户端发送的数据后
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.LastActiveTime">
+            <summary>
+            最后心跳时间(由客户端发起)
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.StartHeartBeat(System.Threading.CancellationToken)">
+            <summary>
+            启动心跳任务
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.AfterHeartBeatTimeout">
+            <summary>
+            心跳超时后
+            </summary>
+            <returns>是否取消心跳任务</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.OnAfterHeartBeatTimeout">
+            <summary>
+            心跳超时后的处理
+            </summary>
+            <returns>是否取消心跳任务</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.DoTask_HeartBeat(System.Int32,System.Threading.CancellationToken)">
+            <summary>
+            任务实现:心跳检测
+            </summary>
+            <param name="interval">间隔(毫秒)</param>
+        </member>
         <member name="T:Apq.Net.PortEndPoint">
             <summary>
             端口端点

BIN
charge32/charge32/CP.dll


BIN
charge32/charge32/CP.pdb


+ 249 - 235
charge32/charge32/Charge32.deps.json

@@ -11,16 +11,16 @@
           "CP": "1.0.0",
           "DB.DS32": "1.0.0",
           "DB.DSUser32": "1.0.0",
-          "Google.Protobuf": "3.25.3",
+          "Google.Protobuf": "3.26.0",
           "Grpc.AspNetCore": "2.61.0",
           "Grpc.AspNetCore.Server.Reflection": "2.61.0",
           "Grpc.AspNetCore.Web": "2.61.0",
-          "Microsoft.AspNetCore.Grpc.JsonTranscoding": "8.0.2",
-          "Microsoft.AspNetCore.Grpc.Swagger": "0.8.2",
-          "Microsoft.EntityFrameworkCore.InMemory": "8.0.2",
-          "Microsoft.EntityFrameworkCore.SqlServer": "8.0.2",
-          "Microsoft.EntityFrameworkCore.Sqlite": "8.0.2",
-          "Microsoft.EntityFrameworkCore.Tools": "8.0.2",
+          "Microsoft.AspNetCore.Grpc.JsonTranscoding": "8.0.3",
+          "Microsoft.AspNetCore.Grpc.Swagger": "0.8.3",
+          "Microsoft.EntityFrameworkCore.InMemory": "8.0.3",
+          "Microsoft.EntityFrameworkCore.SqlServer": "8.0.3",
+          "Microsoft.EntityFrameworkCore.Sqlite": "8.0.3",
+          "Microsoft.EntityFrameworkCore.Tools": "8.0.3",
           "Microsoft.VisualStudio.Azure.Containers.Tools.Targets": "1.19.6",
           "Mindbox.I18n": "12.2.54",
           "MySql.Data": "8.3.0",
@@ -30,7 +30,7 @@
           "Quartz.AspNetCore": "3.8.1",
           "SwaggerDoc": "1.0.1",
           "System.Linq.Dynamic.Core": "1.3.10",
-          "log4net": "2.0.15",
+          "log4net": "2.0.16",
           "Apq": "1.0.0.0",
           "Apq.Web5": "1.0.0.0"
         },
@@ -104,7 +104,7 @@
       },
       "Google.Api.CommonProtos/2.5.0": {
         "dependencies": {
-          "Google.Protobuf": "3.25.3"
+          "Google.Protobuf": "3.26.0"
         },
         "runtime": {
           "lib/netstandard2.0/Google.Api.CommonProtos.dll": {
@@ -113,11 +113,11 @@
           }
         }
       },
-      "Google.Protobuf/3.25.3": {
+      "Google.Protobuf/3.26.0": {
         "runtime": {
           "lib/net5.0/Google.Protobuf.dll": {
-            "assemblyVersion": "3.25.3.0",
-            "fileVersion": "3.25.3.0"
+            "assemblyVersion": "3.26.0.0",
+            "fileVersion": "3.26.0.0"
           }
         }
       },
@@ -128,7 +128,7 @@
       },
       "Grpc.AspNetCore/2.61.0": {
         "dependencies": {
-          "Google.Protobuf": "3.25.3",
+          "Google.Protobuf": "3.26.0",
           "Grpc.AspNetCore.Server.ClientFactory": "2.61.0",
           "Grpc.Tools": "2.61.0"
         }
@@ -158,7 +158,7 @@
       },
       "Grpc.AspNetCore.Server.Reflection/2.61.0": {
         "dependencies": {
-          "Google.Protobuf": "3.25.3",
+          "Google.Protobuf": "3.26.0",
           "Grpc.AspNetCore.Server": "2.61.0",
           "Grpc.Reflection": "2.61.0"
         },
@@ -227,7 +227,7 @@
       "Grpc.Net.Client/2.61.0": {
         "dependencies": {
           "Grpc.Net.Common": "2.61.0",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0"
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1"
         },
         "runtime": {
           "lib/net8.0/Grpc.Net.Client.dll": {
@@ -261,7 +261,7 @@
       },
       "Grpc.Reflection/2.61.0": {
         "dependencies": {
-          "Google.Protobuf": "3.25.3",
+          "Google.Protobuf": "3.26.0",
           "Grpc.Core.Api": "2.61.0"
         },
         "runtime": {
@@ -302,39 +302,39 @@
           }
         }
       },
-      "log4net/2.0.15": {
+      "log4net/2.0.16": {
         "dependencies": {
           "System.Configuration.ConfigurationManager": "6.0.1"
         },
         "runtime": {
           "lib/netstandard2.0/log4net.dll": {
-            "assemblyVersion": "2.0.15.0",
-            "fileVersion": "2.0.15.0"
+            "assemblyVersion": "2.0.16.0",
+            "fileVersion": "2.0.16.0"
           }
         }
       },
-      "Microsoft.AspNetCore.Grpc.JsonTranscoding/8.0.2": {
+      "Microsoft.AspNetCore.Grpc.JsonTranscoding/8.0.3": {
         "dependencies": {
           "Google.Api.CommonProtos": "2.5.0",
-          "Google.Protobuf": "3.25.3",
+          "Google.Protobuf": "3.26.0",
           "Grpc.AspNetCore.Server": "2.61.0"
         },
         "runtime": {
           "lib/net8.0/Microsoft.AspNetCore.Grpc.JsonTranscoding.dll": {
-            "assemblyVersion": "8.0.2.0",
-            "fileVersion": "8.0.224.6804"
+            "assemblyVersion": "8.0.3.0",
+            "fileVersion": "8.0.324.11615"
           }
         }
       },
-      "Microsoft.AspNetCore.Grpc.Swagger/0.8.2": {
+      "Microsoft.AspNetCore.Grpc.Swagger/0.8.3": {
         "dependencies": {
-          "Microsoft.AspNetCore.Grpc.JsonTranscoding": "8.0.2",
+          "Microsoft.AspNetCore.Grpc.JsonTranscoding": "8.0.3",
           "Swashbuckle.AspNetCore": "6.5.0"
         },
         "runtime": {
           "lib/net8.0/Microsoft.AspNetCore.Grpc.Swagger.dll": {
-            "assemblyVersion": "0.8.2.0",
-            "fileVersion": "0.800.224.6804"
+            "assemblyVersion": "0.8.3.0",
+            "fileVersion": "0.800.324.11615"
           }
         }
       },
@@ -380,13 +380,13 @@
         }
       },
       "Microsoft.CSharp/4.5.0": {},
-      "Microsoft.Data.SqlClient/5.1.4": {
+      "Microsoft.Data.SqlClient/5.1.5": {
         "dependencies": {
           "Azure.Identity": "1.10.3",
           "Microsoft.Data.SqlClient.SNI.runtime": "5.1.1",
           "Microsoft.Identity.Client": "4.56.0",
-          "Microsoft.IdentityModel.JsonWebTokens": "6.24.0",
-          "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.24.0",
+          "Microsoft.IdentityModel.JsonWebTokens": "6.35.0",
+          "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.35.0",
           "Microsoft.SqlServer.Server": "1.0.0",
           "System.Configuration.ConfigurationManager": "6.0.1",
           "System.Diagnostics.DiagnosticSource": "8.0.0",
@@ -399,7 +399,7 @@
         "runtime": {
           "lib/net6.0/Microsoft.Data.SqlClient.dll": {
             "assemblyVersion": "5.0.0.0",
-            "fileVersion": "5.14.24005.1"
+            "fileVersion": "5.15.24027.2"
           }
         },
         "runtimeTargets": {
@@ -407,13 +407,13 @@
             "rid": "unix",
             "assetType": "runtime",
             "assemblyVersion": "5.0.0.0",
-            "fileVersion": "5.14.24005.1"
+            "fileVersion": "5.15.24027.2"
           },
           "runtimes/win/lib/net6.0/Microsoft.Data.SqlClient.dll": {
             "rid": "win",
             "assetType": "runtime",
             "assemblyVersion": "5.0.0.0",
-            "fileVersion": "5.14.24005.1"
+            "fileVersion": "5.15.24027.2"
           }
         }
       },
@@ -441,106 +441,106 @@
           }
         }
       },
-      "Microsoft.Data.Sqlite.Core/8.0.2": {
+      "Microsoft.Data.Sqlite.Core/8.0.3": {
         "dependencies": {
           "SQLitePCLRaw.core": "2.1.6"
         },
         "runtime": {
           "lib/net8.0/Microsoft.Data.Sqlite.dll": {
-            "assemblyVersion": "8.0.2.0",
-            "fileVersion": "8.0.224.6803"
+            "assemblyVersion": "8.0.3.0",
+            "fileVersion": "8.0.324.11510"
           }
         }
       },
-      "Microsoft.EntityFrameworkCore/8.0.2": {
+      "Microsoft.EntityFrameworkCore/8.0.3": {
         "dependencies": {
-          "Microsoft.EntityFrameworkCore.Abstractions": "8.0.2",
-          "Microsoft.EntityFrameworkCore.Analyzers": "8.0.2",
+          "Microsoft.EntityFrameworkCore.Abstractions": "8.0.3",
+          "Microsoft.EntityFrameworkCore.Analyzers": "8.0.3",
           "Microsoft.Extensions.Caching.Memory": "8.0.0",
           "Microsoft.Extensions.Logging": "8.0.0"
         },
         "runtime": {
           "lib/net8.0/Microsoft.EntityFrameworkCore.dll": {
-            "assemblyVersion": "8.0.2.0",
-            "fileVersion": "8.0.224.6803"
+            "assemblyVersion": "8.0.3.0",
+            "fileVersion": "8.0.324.11510"
           }
         }
       },
-      "Microsoft.EntityFrameworkCore.Abstractions/8.0.2": {
+      "Microsoft.EntityFrameworkCore.Abstractions/8.0.3": {
         "runtime": {
           "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
-            "assemblyVersion": "8.0.2.0",
-            "fileVersion": "8.0.224.6803"
+            "assemblyVersion": "8.0.3.0",
+            "fileVersion": "8.0.324.11510"
           }
         }
       },
-      "Microsoft.EntityFrameworkCore.Analyzers/8.0.2": {},
-      "Microsoft.EntityFrameworkCore.Design/8.0.2": {
+      "Microsoft.EntityFrameworkCore.Analyzers/8.0.3": {},
+      "Microsoft.EntityFrameworkCore.Design/8.0.3": {
         "dependencies": {
           "Humanizer.Core": "2.14.1",
           "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.5.0",
-          "Microsoft.EntityFrameworkCore.Relational": "8.0.2",
+          "Microsoft.EntityFrameworkCore.Relational": "8.0.3",
           "Microsoft.Extensions.DependencyModel": "8.0.0",
           "Mono.TextTemplating": "2.2.1"
         }
       },
-      "Microsoft.EntityFrameworkCore.InMemory/8.0.2": {
+      "Microsoft.EntityFrameworkCore.InMemory/8.0.3": {
         "dependencies": {
-          "Microsoft.EntityFrameworkCore": "8.0.2"
+          "Microsoft.EntityFrameworkCore": "8.0.3"
         },
         "runtime": {
           "lib/net8.0/Microsoft.EntityFrameworkCore.InMemory.dll": {
-            "assemblyVersion": "8.0.2.0",
-            "fileVersion": "8.0.224.6803"
+            "assemblyVersion": "8.0.3.0",
+            "fileVersion": "8.0.324.11510"
           }
         }
       },
-      "Microsoft.EntityFrameworkCore.Relational/8.0.2": {
+      "Microsoft.EntityFrameworkCore.Relational/8.0.3": {
         "dependencies": {
-          "Microsoft.EntityFrameworkCore": "8.0.2",
+          "Microsoft.EntityFrameworkCore": "8.0.3",
           "Microsoft.Extensions.Configuration.Abstractions": "8.0.0"
         },
         "runtime": {
           "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": {
-            "assemblyVersion": "8.0.2.0",
-            "fileVersion": "8.0.224.6803"
+            "assemblyVersion": "8.0.3.0",
+            "fileVersion": "8.0.324.11510"
           }
         }
       },
-      "Microsoft.EntityFrameworkCore.Sqlite/8.0.2": {
+      "Microsoft.EntityFrameworkCore.Sqlite/8.0.3": {
         "dependencies": {
-          "Microsoft.EntityFrameworkCore.Sqlite.Core": "8.0.2",
+          "Microsoft.EntityFrameworkCore.Sqlite.Core": "8.0.3",
           "SQLitePCLRaw.bundle_e_sqlite3": "2.1.6"
         }
       },
-      "Microsoft.EntityFrameworkCore.Sqlite.Core/8.0.2": {
+      "Microsoft.EntityFrameworkCore.Sqlite.Core/8.0.3": {
         "dependencies": {
-          "Microsoft.Data.Sqlite.Core": "8.0.2",
-          "Microsoft.EntityFrameworkCore.Relational": "8.0.2",
+          "Microsoft.Data.Sqlite.Core": "8.0.3",
+          "Microsoft.EntityFrameworkCore.Relational": "8.0.3",
           "Microsoft.Extensions.DependencyModel": "8.0.0"
         },
         "runtime": {
           "lib/net8.0/Microsoft.EntityFrameworkCore.Sqlite.dll": {
-            "assemblyVersion": "8.0.2.0",
-            "fileVersion": "8.0.224.6803"
+            "assemblyVersion": "8.0.3.0",
+            "fileVersion": "8.0.324.11510"
           }
         }
       },
-      "Microsoft.EntityFrameworkCore.SqlServer/8.0.2": {
+      "Microsoft.EntityFrameworkCore.SqlServer/8.0.3": {
         "dependencies": {
-          "Microsoft.Data.SqlClient": "5.1.4",
-          "Microsoft.EntityFrameworkCore.Relational": "8.0.2"
+          "Microsoft.Data.SqlClient": "5.1.5",
+          "Microsoft.EntityFrameworkCore.Relational": "8.0.3"
         },
         "runtime": {
           "lib/net8.0/Microsoft.EntityFrameworkCore.SqlServer.dll": {
-            "assemblyVersion": "8.0.2.0",
-            "fileVersion": "8.0.224.6803"
+            "assemblyVersion": "8.0.3.0",
+            "fileVersion": "8.0.324.11510"
           }
         }
       },
-      "Microsoft.EntityFrameworkCore.Tools/8.0.2": {
+      "Microsoft.EntityFrameworkCore.Tools/8.0.3": {
         "dependencies": {
-          "Microsoft.EntityFrameworkCore.Design": "8.0.2"
+          "Microsoft.EntityFrameworkCore.Design": "8.0.3"
         }
       },
       "Microsoft.Extensions.ApiDescription.Server/6.0.5": {},
@@ -552,8 +552,8 @@
       "Microsoft.Extensions.Caching.Memory/8.0.0": {
         "dependencies": {
           "Microsoft.Extensions.Caching.Abstractions": "8.0.0",
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "Microsoft.Extensions.Options": "8.0.0",
           "Microsoft.Extensions.Primitives": "8.0.0"
         }
@@ -597,10 +597,17 @@
       },
       "Microsoft.Extensions.DependencyInjection/8.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0"
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1"
+        }
+      },
+      "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.1": {
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.324.11423"
+          }
         }
       },
-      "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": {},
       "Microsoft.Extensions.DependencyModel/8.0.0": {
         "dependencies": {
           "System.Text.Encodings.Web": "8.0.0",
@@ -615,7 +622,7 @@
       },
       "Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
           "Microsoft.Extensions.Options": "8.0.0",
           "System.Diagnostics.DiagnosticSource": "8.0.0"
         }
@@ -624,7 +631,7 @@
         "dependencies": {
           "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "8.0.0",
           "Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "Microsoft.Extensions.Options": "8.0.0"
         }
       },
@@ -645,49 +652,55 @@
       "Microsoft.Extensions.Hosting.Abstractions/8.0.0": {
         "dependencies": {
           "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
           "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0",
           "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0"
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1"
         }
       },
       "Microsoft.Extensions.Http/6.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
           "Microsoft.Extensions.Logging": "8.0.0",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "Microsoft.Extensions.Options": "8.0.0"
         }
       },
       "Microsoft.Extensions.Logging/8.0.0": {
         "dependencies": {
           "Microsoft.Extensions.DependencyInjection": "8.0.0",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "Microsoft.Extensions.Options": "8.0.0"
         }
       },
-      "Microsoft.Extensions.Logging.Abstractions/8.0.0": {
+      "Microsoft.Extensions.Logging.Abstractions/8.0.1": {
         "dependencies": {
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0"
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1"
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.324.11423"
+          }
         }
       },
       "Microsoft.Extensions.Logging.Debug/8.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
           "Microsoft.Extensions.Logging": "8.0.0",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0"
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1"
         }
       },
       "Microsoft.Extensions.Options/8.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
           "Microsoft.Extensions.Primitives": "8.0.0"
         }
       },
       "Microsoft.Extensions.Primitives/8.0.0": {},
       "Microsoft.Identity.Client/4.56.0": {
         "dependencies": {
-          "Microsoft.IdentityModel.Abstractions": "6.24.0"
+          "Microsoft.IdentityModel.Abstractions": "6.35.0"
         },
         "runtime": {
           "lib/net6.0/Microsoft.Identity.Client.dll": {
@@ -709,72 +722,73 @@
           }
         }
       },
-      "Microsoft.IdentityModel.Abstractions/6.24.0": {
+      "Microsoft.IdentityModel.Abstractions/6.35.0": {
         "runtime": {
           "lib/net6.0/Microsoft.IdentityModel.Abstractions.dll": {
-            "assemblyVersion": "6.24.0.0",
-            "fileVersion": "6.24.0.31013"
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
-      "Microsoft.IdentityModel.JsonWebTokens/6.24.0": {
+      "Microsoft.IdentityModel.JsonWebTokens/6.35.0": {
         "dependencies": {
-          "Microsoft.IdentityModel.Tokens": "6.24.0",
+          "Microsoft.IdentityModel.Tokens": "6.35.0",
           "System.Text.Encoding": "4.3.0",
+          "System.Text.Encodings.Web": "8.0.0",
           "System.Text.Json": "8.0.0"
         },
         "runtime": {
           "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
-            "assemblyVersion": "6.24.0.0",
-            "fileVersion": "6.24.0.31013"
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
-      "Microsoft.IdentityModel.Logging/6.24.0": {
+      "Microsoft.IdentityModel.Logging/6.35.0": {
         "dependencies": {
-          "Microsoft.IdentityModel.Abstractions": "6.24.0"
+          "Microsoft.IdentityModel.Abstractions": "6.35.0"
         },
         "runtime": {
           "lib/net6.0/Microsoft.IdentityModel.Logging.dll": {
-            "assemblyVersion": "6.24.0.0",
-            "fileVersion": "6.24.0.31013"
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
-      "Microsoft.IdentityModel.Protocols/6.24.0": {
+      "Microsoft.IdentityModel.Protocols/6.35.0": {
         "dependencies": {
-          "Microsoft.IdentityModel.Logging": "6.24.0",
-          "Microsoft.IdentityModel.Tokens": "6.24.0"
+          "Microsoft.IdentityModel.Logging": "6.35.0",
+          "Microsoft.IdentityModel.Tokens": "6.35.0"
         },
         "runtime": {
           "lib/net6.0/Microsoft.IdentityModel.Protocols.dll": {
-            "assemblyVersion": "6.24.0.0",
-            "fileVersion": "6.24.0.31013"
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
-      "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.24.0": {
+      "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.35.0": {
         "dependencies": {
-          "Microsoft.IdentityModel.Protocols": "6.24.0",
-          "System.IdentityModel.Tokens.Jwt": "6.24.0"
+          "Microsoft.IdentityModel.Protocols": "6.35.0",
+          "System.IdentityModel.Tokens.Jwt": "6.35.0"
         },
         "runtime": {
           "lib/net6.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {
-            "assemblyVersion": "6.24.0.0",
-            "fileVersion": "6.24.0.31013"
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
-      "Microsoft.IdentityModel.Tokens/6.24.0": {
+      "Microsoft.IdentityModel.Tokens/6.35.0": {
         "dependencies": {
           "Microsoft.CSharp": "4.5.0",
-          "Microsoft.IdentityModel.Logging": "6.24.0",
+          "Microsoft.IdentityModel.Logging": "6.35.0",
           "System.Security.Cryptography.Cng": "5.0.0"
         },
         "runtime": {
           "lib/net6.0/Microsoft.IdentityModel.Tokens.dll": {
-            "assemblyVersion": "6.24.0.0",
-            "fileVersion": "6.24.0.31013"
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
@@ -815,8 +829,8 @@
       },
       "Mindbox.I18n/12.2.54": {
         "dependencies": {
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "Mindbox.I18n.Abstractions": "12.0.0",
           "System.Text.Json": "8.0.0"
         },
@@ -829,7 +843,7 @@
       },
       "Mindbox.I18n.Abstractions/12.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0"
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1"
         },
         "runtime": {
           "lib/net7.0/Mindbox.I18n.Abstractions.dll": {
@@ -846,7 +860,7 @@
       "MySql.Data/8.3.0": {
         "dependencies": {
           "BouncyCastle.Cryptography": "2.3.0",
-          "Google.Protobuf": "3.25.3",
+          "Google.Protobuf": "3.26.0",
           "K4os.Compression.LZ4.Streams": "1.3.5",
           "System.Buffers": "4.5.1",
           "System.Configuration.ConfigurationManager": "6.0.1",
@@ -914,7 +928,7 @@
       },
       "Quartz/3.8.1": {
         "dependencies": {
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "System.Configuration.ConfigurationManager": "6.0.1"
         },
         "runtime": {
@@ -926,7 +940,7 @@
       },
       "Quartz.AspNetCore/3.8.1": {
         "dependencies": {
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
           "Microsoft.Extensions.Diagnostics.HealthChecks": "8.0.0",
           "Quartz.Extensions.Hosting": "3.8.1"
         },
@@ -940,7 +954,7 @@
       "Quartz.Extensions.DependencyInjection/3.8.1": {
         "dependencies": {
           "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
           "Microsoft.Extensions.Options": "8.0.0",
           "Quartz": "3.8.1"
         },
@@ -1225,15 +1239,15 @@
         }
       },
       "System.Formats.Asn1/5.0.0": {},
-      "System.IdentityModel.Tokens.Jwt/6.24.0": {
+      "System.IdentityModel.Tokens.Jwt/6.35.0": {
         "dependencies": {
-          "Microsoft.IdentityModel.JsonWebTokens": "6.24.0",
-          "Microsoft.IdentityModel.Tokens": "6.24.0"
+          "Microsoft.IdentityModel.JsonWebTokens": "6.35.0",
+          "Microsoft.IdentityModel.Tokens": "6.35.0"
         },
         "runtime": {
           "lib/net6.0/System.IdentityModel.Tokens.Jwt.dll": {
-            "assemblyVersion": "6.24.0.0",
-            "fileVersion": "6.24.0.31013"
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
@@ -1422,11 +1436,11 @@
         "dependencies": {
           "BouncyCastle.Cryptography": "2.3.0",
           "Grpc": "2.46.6",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "Newtonsoft.Json": "13.0.3",
           "OpenQQ": "1.0.0",
           "Pb": "1.0.0",
-          "log4net": "2.0.15"
+          "log4net": "2.0.16"
         },
         "runtime": {
           "CP.dll": {}
@@ -1434,10 +1448,10 @@
       },
       "DB.DS32/1.0.0": {
         "dependencies": {
-          "Microsoft.EntityFrameworkCore.InMemory": "8.0.2",
-          "Microsoft.EntityFrameworkCore.SqlServer": "8.0.2",
-          "Microsoft.EntityFrameworkCore.Sqlite": "8.0.2",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.EntityFrameworkCore.InMemory": "8.0.3",
+          "Microsoft.EntityFrameworkCore.SqlServer": "8.0.3",
+          "Microsoft.EntityFrameworkCore.Sqlite": "8.0.3",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "Microsoft.Extensions.Logging.Debug": "8.0.0",
           "MySql.Data": "8.3.0",
           "System.Linq.Dynamic.Core": "1.3.10"
@@ -1448,10 +1462,10 @@
       },
       "DB.DSUser32/1.0.0": {
         "dependencies": {
-          "Microsoft.EntityFrameworkCore.InMemory": "8.0.2",
-          "Microsoft.EntityFrameworkCore.SqlServer": "8.0.2",
-          "Microsoft.EntityFrameworkCore.Sqlite": "8.0.2",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.EntityFrameworkCore.InMemory": "8.0.3",
+          "Microsoft.EntityFrameworkCore.SqlServer": "8.0.3",
+          "Microsoft.EntityFrameworkCore.Sqlite": "8.0.3",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "Microsoft.Extensions.Logging.Debug": "8.0.0",
           "MySql.Data": "8.3.0",
           "System.Linq.Dynamic.Core": "1.3.10"
@@ -1466,7 +1480,7 @@
           "Microsoft.Extensions.Primitives": "8.0.0",
           "Newtonsoft.Json": "13.0.3",
           "SdkBase": "1.0.0",
-          "log4net": "2.0.15"
+          "log4net": "2.0.16"
         },
         "runtime": {
           "OpenQQ.dll": {}
@@ -1474,7 +1488,7 @@
       },
       "Pb/1.0.0": {
         "dependencies": {
-          "Google.Protobuf": "3.25.3",
+          "Google.Protobuf": "3.26.0",
           "Grpc.Net.Client": "2.61.0"
         },
         "runtime": {
@@ -1552,12 +1566,12 @@
       "path": "google.api.commonprotos/2.5.0",
       "hashPath": "google.api.commonprotos.2.5.0.nupkg.sha512"
     },
-    "Google.Protobuf/3.25.3": {
+    "Google.Protobuf/3.26.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-fDY/kt0gy2nVcoeMmiyDMtwgvDJG5qaU7+Ic77szKTvVkIvoo7tyf+d+QDlKSosB+FjoKocX/ObObxqKCq60uA==",
-      "path": "google.protobuf/3.25.3",
-      "hashPath": "google.protobuf.3.25.3.nupkg.sha512"
+      "sha512": "sha512-AkWr2Hz/rycJapYHXS3gT5UVq8K8D2gkNA70ePe22oejNVGMkw5Mtasri2VbNtBCgbqtE8MsIPYp73xud2wAVQ==",
+      "path": "google.protobuf/3.26.0",
+      "hashPath": "google.protobuf.3.26.0.nupkg.sha512"
     },
     "Grpc/2.46.6": {
       "type": "package",
@@ -1678,26 +1692,26 @@
       "path": "k4os.hash.xxhash/1.0.8",
       "hashPath": "k4os.hash.xxhash.1.0.8.nupkg.sha512"
     },
-    "log4net/2.0.15": {
+    "log4net/2.0.16": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-GahnO9ZgFka+xYcFwAfIFjW+k86P2nxFoaEpH6t3v4hiGj7tv2ksVZphxCVIHmJxoySS0HeU3dgCW+bSCcfD0A==",
-      "path": "log4net/2.0.15",
-      "hashPath": "log4net.2.0.15.nupkg.sha512"
+      "sha512": "sha512-6MoFh1BB83ZPiUHXlIJQZsoXSMlwnrNHmiPTGCobA6Ik3fmeNVLgEwF0MjxZtec2PfB0WdL81XCAtxjrummCCg==",
+      "path": "log4net/2.0.16",
+      "hashPath": "log4net.2.0.16.nupkg.sha512"
     },
-    "Microsoft.AspNetCore.Grpc.JsonTranscoding/8.0.2": {
+    "Microsoft.AspNetCore.Grpc.JsonTranscoding/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-fMB2FyyRukLmWwtxw06aD0TN0LYy/tlB3aICoJYXzUutA5OeFbpeiAkEC7+Pkj6DYIfBQM4REfw4mQwPVhUY6Q==",
-      "path": "microsoft.aspnetcore.grpc.jsontranscoding/8.0.2",
-      "hashPath": "microsoft.aspnetcore.grpc.jsontranscoding.8.0.2.nupkg.sha512"
+      "sha512": "sha512-TPnrM7aH2SiUDHAOGlNwlDlqgMsw62RT0j4zTZD3CYX6M8jdRF7cpGnvjpv4WJ7gIBfnCOAvXKJaZd3SYON//g==",
+      "path": "microsoft.aspnetcore.grpc.jsontranscoding/8.0.3",
+      "hashPath": "microsoft.aspnetcore.grpc.jsontranscoding.8.0.3.nupkg.sha512"
     },
-    "Microsoft.AspNetCore.Grpc.Swagger/0.8.2": {
+    "Microsoft.AspNetCore.Grpc.Swagger/0.8.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-tHff/qDoevlPDr+7QWYxydNs8kK6kRZeWinvJ37qRymwHmbNOgnt81/wIzX+fOHTpS8qnF8JAZUQPdghKVLIHw==",
-      "path": "microsoft.aspnetcore.grpc.swagger/0.8.2",
-      "hashPath": "microsoft.aspnetcore.grpc.swagger.0.8.2.nupkg.sha512"
+      "sha512": "sha512-FG7QBQhhqCIQChi51EmGBRNqJ5jYD6EDqRG93KkLISaHwyWTxDG5rj6pfAOOzW7prCWEMwuxquTI3fbW9PtBjQ==",
+      "path": "microsoft.aspnetcore.grpc.swagger/0.8.3",
+      "hashPath": "microsoft.aspnetcore.grpc.swagger.0.8.3.nupkg.sha512"
     },
     "Microsoft.Bcl.AsyncInterfaces/6.0.0": {
       "type": "package",
@@ -1748,12 +1762,12 @@
       "path": "microsoft.csharp/4.5.0",
       "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512"
     },
-    "Microsoft.Data.SqlClient/5.1.4": {
+    "Microsoft.Data.SqlClient/5.1.5": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-RSGSodusrPSVPKBLETRTH51G0yUQS28rD1hi2svTKS1GOsvUWxUpE8hgnKnUFC9RNjzfQmfUp+T0lJHFtlT3HQ==",
-      "path": "microsoft.data.sqlclient/5.1.4",
-      "hashPath": "microsoft.data.sqlclient.5.1.4.nupkg.sha512"
+      "sha512": "sha512-6kvhQjY5uBCdBccezFD2smfnpQjQ33cZtUZVrNvxlwoBu6uopM5INH6uSgLI7JRLtlQ3bMPwnhMq4kchsXeZ5w==",
+      "path": "microsoft.data.sqlclient/5.1.5",
+      "hashPath": "microsoft.data.sqlclient.5.1.5.nupkg.sha512"
     },
     "Microsoft.Data.SqlClient.SNI.runtime/5.1.1": {
       "type": "package",
@@ -1762,82 +1776,82 @@
       "path": "microsoft.data.sqlclient.sni.runtime/5.1.1",
       "hashPath": "microsoft.data.sqlclient.sni.runtime.5.1.1.nupkg.sha512"
     },
-    "Microsoft.Data.Sqlite.Core/8.0.2": {
+    "Microsoft.Data.Sqlite.Core/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-C7VelOBNUrVlatmOoJ9P+vc/gegduv7d2uB5oy7bFxfgZBfaGr+eREW+QuppXwi3MHp0WBxxWjqkK5gD7ymDQA==",
-      "path": "microsoft.data.sqlite.core/8.0.2",
-      "hashPath": "microsoft.data.sqlite.core.8.0.2.nupkg.sha512"
+      "sha512": "sha512-1euU97SivROH7nVIh2c/V63e0nQ73Txr/YlysB7fJuTV8LcfeL9WO1gdiJWcRIDoq8/McxcTc7evY6JJ1pD95w==",
+      "path": "microsoft.data.sqlite.core/8.0.3",
+      "hashPath": "microsoft.data.sqlite.core.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore/8.0.2": {
+    "Microsoft.EntityFrameworkCore/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-6QlvBx4rdawW3AkkCsGVV+8qRLk34aknV5JD40s1hbVR18vKmT2KDl2DW83nHcPX7f4oebQ3BD1UMNCI/gkE0g==",
-      "path": "microsoft.entityframeworkcore/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.8.0.2.nupkg.sha512"
+      "sha512": "sha512-QUPQbeq4yCjgIL/6PzkhfwhljXmai3CNOsErWFJ/WJ1Z41V8+At0Bi4PT8/2pX25kPgf83g0CUKIZd0QbeKT4A==",
+      "path": "microsoft.entityframeworkcore/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.Abstractions/8.0.2": {
+    "Microsoft.EntityFrameworkCore.Abstractions/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-DjDKp++BTKFZmX+xLTow7grQTY+pImKfhGW68Zf8myiL3zyJ3b8RZbnLsWGNCqKQIF6hJIz/zA/zmERobFwV0A==",
-      "path": "microsoft.entityframeworkcore.abstractions/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.abstractions.8.0.2.nupkg.sha512"
+      "sha512": "sha512-cW+SKdx34wZ25ZVKCpk/6+6z27wrZlQ1qXyx7UWpy34s9CyAojH0QiYlV/2owNOGSAH67rm+LxAjUOicsqlGzQ==",
+      "path": "microsoft.entityframeworkcore.abstractions/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.abstractions.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.Analyzers/8.0.2": {
+    "Microsoft.EntityFrameworkCore.Analyzers/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-LI7awhc0fiAKvcUemsqxXUWqzAH9ywTSyM1rpC1un4p5SE1bhr5nRLvyRVbKRzKakmnNNY3to8NPDnoySEkxVw==",
-      "path": "microsoft.entityframeworkcore.analyzers/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.analyzers.8.0.2.nupkg.sha512"
+      "sha512": "sha512-3csRAzz5O5Gn+GQBMyLn26OICtEo2/U2iDDygQhKb3LnC78bAUvutkMqvb0Ek5A6uHrBcZQrKQJfkgfnRT5XZw==",
+      "path": "microsoft.entityframeworkcore.analyzers/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.analyzers.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.Design/8.0.2": {
+    "Microsoft.EntityFrameworkCore.Design/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-lpSEopadyq4VjgErVbKXznlzmrdR+1zG4jjJlumgnDTz6Ov60qZkBn8uTfPYk0PUZ3wn+GNFOi3ouSTK4JKEIA==",
-      "path": "microsoft.entityframeworkcore.design/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.design.8.0.2.nupkg.sha512"
+      "sha512": "sha512-OAh9P0M5VK3+mtmnjOyyw92s3L0r3fmYwWWAnh0pb/8JH3u7L2FmrJnNPFysChBiWIJu17+6Bqj4k/bkFK4RVw==",
+      "path": "microsoft.entityframeworkcore.design/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.design.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.InMemory/8.0.2": {
+    "Microsoft.EntityFrameworkCore.InMemory/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-vPpioRk+6BwQf/apqBQQ2gLL/6FMOj25L6d2lli08FmRh2W9QrnShyKhzsDAydWcH6Po69gQXgHbBQFAafmo3A==",
-      "path": "microsoft.entityframeworkcore.inmemory/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.inmemory.8.0.2.nupkg.sha512"
+      "sha512": "sha512-43rqIfq1/CGcIqCvQoZ2F/a2YJc1c2jdPQB6/6VtvYCg2aeXfQi2sEjj/hNiO+RI+Tz+Bq0/oXoejbGMUO7hZA==",
+      "path": "microsoft.entityframeworkcore.inmemory/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.inmemory.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.Relational/8.0.2": {
+    "Microsoft.EntityFrameworkCore.Relational/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-NoGfcq2OPw0z8XAPf74YFwGlTKjedWdsIEJqq4SvKcPjcu+B+/XDDNrDRxTvILfz4Ug8POSF49s1jz1JvUqTAg==",
-      "path": "microsoft.entityframeworkcore.relational/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.relational.8.0.2.nupkg.sha512"
+      "sha512": "sha512-8JnVZHWaNFkrrD/FC0O4jekiHIYey8y6TQ4Co3OzLz0wd5Dm1cwJfTp++1TvaVu0BBd4bVDtiktppa5epuoPrA==",
+      "path": "microsoft.entityframeworkcore.relational/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.relational.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.Sqlite/8.0.2": {
+    "Microsoft.EntityFrameworkCore.Sqlite/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-tnpTylrGLYUKZ+Jw8Y5PmROYhIvqA51EqYRdHgUDCFsVbs3AKsw3SY1reaZk/tBfWHtC7nWR+IN2MwYrdtkgTQ==",
-      "path": "microsoft.entityframeworkcore.sqlite/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.sqlite.8.0.2.nupkg.sha512"
+      "sha512": "sha512-mdHNwlJkV71pKJU1MzIbjHWyjLw03S2kCO6mnuZL6V7uDv5ZxncoT5OELUiv7wRAYxnBucrl7ZPT76hwhBKBFw==",
+      "path": "microsoft.entityframeworkcore.sqlite/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.sqlite.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.Sqlite.Core/8.0.2": {
+    "Microsoft.EntityFrameworkCore.Sqlite.Core/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-cUOohC2oMaHG8rAvF1bvg5U5Hmeio8nTvCJghyPSnnKtWPu6U/Ozw4jcdJn1UjeYe7X0udP8ax/IB6wb9BOLWw==",
-      "path": "microsoft.entityframeworkcore.sqlite.core/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.sqlite.core.8.0.2.nupkg.sha512"
+      "sha512": "sha512-6DvYtnLdpViXgA5F2Z/cIJfWIv31Eby5j2YqUzr+sgJulKtCX+ypvmfooXlYnCwJDlcmIaMY27TMnlrCcUvZmA==",
+      "path": "microsoft.entityframeworkcore.sqlite.core/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.sqlite.core.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.SqlServer/8.0.2": {
+    "Microsoft.EntityFrameworkCore.SqlServer/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-tAS5mYr/mwCXZVC5dyJlzdKHK0MLU0TAxNcc30xi7XLju8DE3S0Y206Yfi/MyuzLjulQRq9n2vjieeCxOnQfkg==",
-      "path": "microsoft.entityframeworkcore.sqlserver/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.sqlserver.8.0.2.nupkg.sha512"
+      "sha512": "sha512-Xpk6BWqSD7bGa/I/QJ5oLVD+RTIj1mhfUo92g4OrhfRb3/HKhURtsfNz3v+xLYADvWsugwYxaPzypMbM9ucWfg==",
+      "path": "microsoft.entityframeworkcore.sqlserver/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.sqlserver.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.Tools/8.0.2": {
+    "Microsoft.EntityFrameworkCore.Tools/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-PWy3X3Z1fnWlbU6pQMSnBvMwqERoKsriJ688TMl1xT2NyqcSk6/dX22eI5eV+qYXYmYna72Dq2u0P8tNZ6AYtg==",
-      "path": "microsoft.entityframeworkcore.tools/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.tools.8.0.2.nupkg.sha512"
+      "sha512": "sha512-jKczLbj13jY6TvYsXgAYqfhkIow6VdqumCv0m8EvNr3vU1+nJ6LKoG+6pPKnkVOHycXHGy5DEhH0GN0ldmx7Kw==",
+      "path": "microsoft.entityframeworkcore.tools/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.tools.8.0.3.nupkg.sha512"
     },
     "Microsoft.Extensions.ApiDescription.Server/6.0.5": {
       "type": "package",
@@ -1902,12 +1916,12 @@
       "path": "microsoft.extensions.dependencyinjection/8.0.0",
       "hashPath": "microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512"
     },
-    "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": {
+    "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.1": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==",
-      "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.0",
-      "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512"
+      "sha512": "sha512-fGLiCRLMYd00JYpClraLjJTNKLmMJPnqxMaiRzEBIIvevlzxz33mXy39Lkd48hu1G+N21S7QpaO5ZzKsI6FRuA==",
+      "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.1",
+      "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.1.nupkg.sha512"
     },
     "Microsoft.Extensions.DependencyModel/8.0.0": {
       "type": "package",
@@ -1979,12 +1993,12 @@
       "path": "microsoft.extensions.logging/8.0.0",
       "hashPath": "microsoft.extensions.logging.8.0.0.nupkg.sha512"
     },
-    "Microsoft.Extensions.Logging.Abstractions/8.0.0": {
+    "Microsoft.Extensions.Logging.Abstractions/8.0.1": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==",
-      "path": "microsoft.extensions.logging.abstractions/8.0.0",
-      "hashPath": "microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512"
+      "sha512": "sha512-RIFgaqoaINxkM2KTOw72dmilDmTrYA0ns2KW4lDz4gZ2+o6IQ894CzmdL3StM2oh7QQq44nCWiqKqc4qUI9Jmg==",
+      "path": "microsoft.extensions.logging.abstractions/8.0.1",
+      "hashPath": "microsoft.extensions.logging.abstractions.8.0.1.nupkg.sha512"
     },
     "Microsoft.Extensions.Logging.Debug/8.0.0": {
       "type": "package",
@@ -2021,47 +2035,47 @@
       "path": "microsoft.identity.client.extensions.msal/4.56.0",
       "hashPath": "microsoft.identity.client.extensions.msal.4.56.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Abstractions/6.24.0": {
+    "Microsoft.IdentityModel.Abstractions/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-X6aBK56Ot15qKyG7X37KsPnrwah+Ka55NJWPppWVTDi8xWq7CJgeNw2XyaeHgE1o/mW4THwoabZkBbeG2TPBiw==",
-      "path": "microsoft.identitymodel.abstractions/6.24.0",
-      "hashPath": "microsoft.identitymodel.abstractions.6.24.0.nupkg.sha512"
+      "sha512": "sha512-xuR8E4Rd96M41CnUSCiOJ2DBh+z+zQSmyrYHdYhD6K4fXBcQGVnRCFQ0efROUYpP+p0zC1BLKr0JRpVuujTZSg==",
+      "path": "microsoft.identitymodel.abstractions/6.35.0",
+      "hashPath": "microsoft.identitymodel.abstractions.6.35.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.JsonWebTokens/6.24.0": {
+    "Microsoft.IdentityModel.JsonWebTokens/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-XDWrkThcxfuWp79AvAtg5f+uRS1BxkIbJnsG/e8VPzOWkYYuDg33emLjp5EWcwXYYIDsHnVZD/00kM/PYFQc/g==",
-      "path": "microsoft.identitymodel.jsonwebtokens/6.24.0",
-      "hashPath": "microsoft.identitymodel.jsonwebtokens.6.24.0.nupkg.sha512"
+      "sha512": "sha512-9wxai3hKgZUb4/NjdRKfQd0QJvtXKDlvmGMYACbEC8DFaicMFCFhQFZq9ZET1kJLwZahf2lfY5Gtcpsx8zYzbg==",
+      "path": "microsoft.identitymodel.jsonwebtokens/6.35.0",
+      "hashPath": "microsoft.identitymodel.jsonwebtokens.6.35.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Logging/6.24.0": {
+    "Microsoft.IdentityModel.Logging/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-qLYWDOowM/zghmYKXw1yfYKlHOdS41i8t4hVXr9bSI90zHqhyhQh9GwVy8pENzs5wHeytU23DymluC9NtgYv7w==",
-      "path": "microsoft.identitymodel.logging/6.24.0",
-      "hashPath": "microsoft.identitymodel.logging.6.24.0.nupkg.sha512"
+      "sha512": "sha512-jePrSfGAmqT81JDCNSY+fxVWoGuJKt9e6eJ+vT7+quVS55nWl//jGjUQn4eFtVKt4rt5dXaleZdHRB9J9AJZ7Q==",
+      "path": "microsoft.identitymodel.logging/6.35.0",
+      "hashPath": "microsoft.identitymodel.logging.6.35.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Protocols/6.24.0": {
+    "Microsoft.IdentityModel.Protocols/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-+NzKCkvsQ8X1r/Ff74V7CFr9OsdMRaB6DsV+qpH7NNLdYJ8O4qHbmTnNEsjFcDmk/gVNDwhoL2gN5pkPVq0lwQ==",
-      "path": "microsoft.identitymodel.protocols/6.24.0",
-      "hashPath": "microsoft.identitymodel.protocols.6.24.0.nupkg.sha512"
+      "sha512": "sha512-BPQhlDzdFvv1PzaUxNSk+VEPwezlDEVADIKmyxubw7IiELK18uJ06RQ9QKKkds30XI+gDu9n8j24XQ8w7fjWcg==",
+      "path": "microsoft.identitymodel.protocols/6.35.0",
+      "hashPath": "microsoft.identitymodel.protocols.6.35.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.24.0": {
+    "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-a/2RRrc8C9qaw8qdD9hv1ES9YKFgxaqr/SnwMSLbwQZJSUQDd4qx1K4EYgWaQWs73R+VXLyKSxN0f/uE9CsBiQ==",
-      "path": "microsoft.identitymodel.protocols.openidconnect/6.24.0",
-      "hashPath": "microsoft.identitymodel.protocols.openidconnect.6.24.0.nupkg.sha512"
+      "sha512": "sha512-LMtVqnECCCdSmyFoCOxIE5tXQqkOLrvGrL7OxHg41DIm1bpWtaCdGyVcTAfOQpJXvzND9zUKIN/lhngPkYR8vg==",
+      "path": "microsoft.identitymodel.protocols.openidconnect/6.35.0",
+      "hashPath": "microsoft.identitymodel.protocols.openidconnect.6.35.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Tokens/6.24.0": {
+    "Microsoft.IdentityModel.Tokens/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-ZPqHi86UYuqJXJ7bLnlEctHKkPKT4lGUFbotoCNiXNCSL02emYlcxzGYsRGWWmbFEcYDMi2dcTLLYNzHqWOTsw==",
-      "path": "microsoft.identitymodel.tokens/6.24.0",
-      "hashPath": "microsoft.identitymodel.tokens.6.24.0.nupkg.sha512"
+      "sha512": "sha512-RN7lvp7s3Boucg1NaNAbqDbxtlLj5Qeb+4uSS1TeK5FSBVM40P4DKaTKChT43sHyKfh7V0zkrMph6DdHvyA4bg==",
+      "path": "microsoft.identitymodel.tokens/6.35.0",
+      "hashPath": "microsoft.identitymodel.tokens.6.35.0.nupkg.sha512"
     },
     "Microsoft.NETCore.Platforms/1.1.0": {
       "type": "package",
@@ -2329,12 +2343,12 @@
       "path": "system.formats.asn1/5.0.0",
       "hashPath": "system.formats.asn1.5.0.0.nupkg.sha512"
     },
-    "System.IdentityModel.Tokens.Jwt/6.24.0": {
+    "System.IdentityModel.Tokens.Jwt/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-Qibsj9MPWq8S/C0FgvmsLfIlHLE7ay0MJIaAmK94ivN3VyDdglqReed5qMvdQhSL0BzK6v0Z1wB/sD88zVu6Jw==",
-      "path": "system.identitymodel.tokens.jwt/6.24.0",
-      "hashPath": "system.identitymodel.tokens.jwt.6.24.0.nupkg.sha512"
+      "sha512": "sha512-yxGIQd3BFK7F6S62/7RdZk3C/mfwyVxvh6ngd1VYMBmbJ1YZZA9+Ku6suylVtso0FjI0wbElpJ0d27CdsyLpBQ==",
+      "path": "system.identitymodel.tokens.jwt/6.35.0",
+      "hashPath": "system.identitymodel.tokens.jwt.6.35.0.nupkg.sha512"
     },
     "System.IO/4.3.0": {
       "type": "package",

BIN
charge32/charge32/Charge32.dll


BIN
charge32/charge32/Charge32.exe


BIN
charge32/charge32/Charge32.pdb


+ 6 - 6
charge32/charge32/Charge32.xml

@@ -19,7 +19,7 @@
             测试微服务
             </summary>
         </member>
-        <member name="M:Charge32.Controllers.ChargeController.Delivery_QQ(System.Collections.Generic.Dictionary{System.String,System.String},System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+        <member name="M:Charge32.Controllers.ChargeController.Delivery_QQ(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Collections.Generic.Dictionary{System.String,System.String})">
             <remarks>https://wikinew.open.qq.com/#/iwiki/940617835</remarks>
             <summary>
             充值回调(发货)
@@ -33,7 +33,7 @@
             <param name="payamt_coins">扣取的游戏币总数,单位为Q点</param>
             <param name="pubacct_payamt_coins">扣取的抵用券总金额,单位为Q点</param>
         </member>
-        <member name="M:Charge32.Controllers.ChargeController.GetDawankaInfo_QQ(System.Collections.Generic.Dictionary{System.String,System.String},System.String,System.Int64,System.String,System.String,System.String,System.Boolean)">
+        <member name="M:Charge32.Controllers.ChargeController.GetDawankaInfo_QQ(System.String,System.Int64,System.String,System.String,System.String,System.Boolean,System.Collections.Generic.Dictionary{System.String,System.String})">
             <summary>
             获取大玩咖信息
             </summary>
@@ -45,7 +45,7 @@
             <param name="openkey">用户的会话密钥(session key)</param>
             <param name="pf">应用的来源平台</param>
         </member>
-        <member name="M:Charge32.Controllers.ChargeController.GetInfo_QQ(System.Collections.Generic.Dictionary{System.String,System.String},System.String,System.Int64,System.String,System.String,System.String,System.Boolean)">
+        <member name="M:Charge32.Controllers.ChargeController.GetInfo_QQ(System.String,System.Int64,System.String,System.String,System.String,System.Boolean,System.Collections.Generic.Dictionary{System.String,System.String})">
             <summary>
             获取QQ玩家信息
             </summary>
@@ -57,7 +57,7 @@
             <param name="openkey">用户的会话密钥(session key)</param>
             <param name="pf">应用的来源平台</param>
         </member>
-        <member name="M:Charge32.Controllers.ChargeController.IsLogin_QQ(System.Collections.Generic.Dictionary{System.String,System.String},System.String,System.String,System.String,System.String,System.Boolean)">
+        <member name="M:Charge32.Controllers.ChargeController.IsLogin_QQ(System.String,System.String,System.String,System.String,System.Boolean,System.Collections.Generic.Dictionary{System.String,System.String})">
             <summary>
             获取QQ玩家是否已登录
             </summary>
@@ -68,7 +68,7 @@
             <param name="openkey">用户的会话密钥(session key)</param>
             <param name="pf">应用的来源平台</param>
         </member>
-        <member name="M:Charge32.Controllers.ChargeController.Order_QQ(System.Collections.Generic.Dictionary{System.String,System.String},System.String,System.Int64,System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.Boolean)">
+        <member name="M:Charge32.Controllers.ChargeController.Order_QQ(System.String,System.Int64,System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.Boolean,System.Collections.Generic.Dictionary{System.String,System.String})">
             <summary>
             下单接口(生成订单。并向平台下单)
             </summary>
@@ -83,7 +83,7 @@
             <param name="pf">应用的来源平台</param>
             <param name="pfkey">SDK平台的信息加密串</param>
         </member>
-        <member name="M:Charge32.Controllers.ChargeController.UicFilter_QQ(System.Collections.Generic.Dictionary{System.String,System.String},System.String,System.String,SdkBase.StringCatalog,System.String,System.String,System.Boolean)">
+        <member name="M:Charge32.Controllers.ChargeController.UicFilter_QQ(System.String,System.String,SdkBase.StringCatalog,System.String,System.String,System.Boolean,System.Collections.Generic.Dictionary{System.String,System.String})">
             <summary>
             过滤玩家输入的敏感词,避免出现不合规信息
             </summary>

BIN
charge32/charge32/DB.DS32.dll


BIN
charge32/charge32/DB.DS32.pdb


BIN
charge32/charge32/DB.DSUser32.dll


BIN
charge32/charge32/DB.DSUser32.pdb


+ 3 - 3
charge32/charge32/DockerBuild.txt

@@ -17,9 +17,9 @@ cd DockerImg/charge32/
 docker login [email protected] registry.cn-guangzhou.aliyuncs.com
 
 # amd64上
-docker rmi registry.cn-guangzhou.aliyuncs.com/apq/charge32:amd64_20240315
-docker build -t registry.cn-guangzhou.aliyuncs.com/apq/charge32:amd64_20240315 .
-docker push registry.cn-guangzhou.aliyuncs.com/apq/charge32:amd64_20240315
+docker rmi registry.cn-guangzhou.aliyuncs.com/apq/charge32:amd64_20240318
+docker build -t registry.cn-guangzhou.aliyuncs.com/apq/charge32:amd64_20240318 .
+docker push registry.cn-guangzhou.aliyuncs.com/apq/charge32:amd64_20240318
 
 # arm64上
 docker rmi registry.cn-guangzhou.aliyuncs.com/apq/charge32:arm64

BIN
charge32/charge32/Google.Protobuf.dll


BIN
charge32/charge32/Microsoft.AspNetCore.Grpc.JsonTranscoding.dll


BIN
charge32/charge32/Microsoft.AspNetCore.Grpc.Swagger.dll


BIN
charge32/charge32/Microsoft.Data.SqlClient.dll


BIN
charge32/charge32/Microsoft.Data.Sqlite.dll


BIN
charge32/charge32/Microsoft.EntityFrameworkCore.Abstractions.dll


BIN
charge32/charge32/Microsoft.EntityFrameworkCore.InMemory.dll


BIN
charge32/charge32/Microsoft.EntityFrameworkCore.Relational.dll


BIN
charge32/charge32/Microsoft.EntityFrameworkCore.SqlServer.dll


BIN
charge32/charge32/Microsoft.EntityFrameworkCore.Sqlite.dll


BIN
charge32/charge32/Microsoft.EntityFrameworkCore.dll


BIN
charge32/charge32/Microsoft.Extensions.DependencyInjection.Abstractions.dll


BIN
charge32/charge32/Microsoft.Extensions.Logging.Abstractions.dll


BIN
charge32/charge32/Microsoft.IdentityModel.Abstractions.dll


BIN
charge32/charge32/Microsoft.IdentityModel.JsonWebTokens.dll


BIN
charge32/charge32/Microsoft.IdentityModel.Logging.dll


BIN
charge32/charge32/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll


BIN
charge32/charge32/Microsoft.IdentityModel.Protocols.dll


BIN
charge32/charge32/Microsoft.IdentityModel.Tokens.dll


BIN
charge32/charge32/OpenQQ.dll


BIN
charge32/charge32/OpenQQ.pdb


BIN
charge32/charge32/Pb.dll


BIN
charge32/charge32/Pb.pdb


BIN
charge32/charge32/System.IdentityModel.Tokens.Jwt.dll


BIN
charge32/charge32/log4net.dll


BIN
charge32/charge32/runtimes/unix/lib/net6.0/Microsoft.Data.SqlClient.dll


BIN
charge32/charge32/runtimes/win/lib/net6.0/Microsoft.Data.SqlClient.dll


+ 3 - 3
charge64/DockerBuild.txt

@@ -17,9 +17,9 @@ cd DockerImg/charge64/
 docker login [email protected] registry.cn-guangzhou.aliyuncs.com
 
 # amd64上
-docker rmi registry.cn-guangzhou.aliyuncs.com/apq/charge64:amd64_20240314
-docker build -t registry.cn-guangzhou.aliyuncs.com/apq/charge64:amd64_20240314 .
-docker push registry.cn-guangzhou.aliyuncs.com/apq/charge64:amd64_20240314
+docker rmi registry.cn-guangzhou.aliyuncs.com/apq/charge64:amd64_20240318
+docker build -t registry.cn-guangzhou.aliyuncs.com/apq/charge64:amd64_20240318 .
+docker push registry.cn-guangzhou.aliyuncs.com/apq/charge64:amd64_20240318
 
 # arm64上
 docker rmi registry.cn-guangzhou.aliyuncs.com/apq/charge64:arm64

BIN
charge64/charge64/Apq.Web5.dll


BIN
charge64/charge64/Apq.Web5.pdb


BIN
charge64/charge64/Apq.dll


BIN
charge64/charge64/Apq.pdb


+ 492 - 5
charge64/charge64/Apq.xml

@@ -3311,6 +3311,11 @@
             全局对象
             </summary>
         </member>
+        <member name="P:Apq.GlobalObject.TheAssembly">
+            <summary>
+            该程序集
+            </summary>
+        </member>
         <member name="P:Apq.GlobalObject.TheProcess">
             <summary>
             当前进程
@@ -3321,11 +3326,6 @@
             当前程序的入口目录。入口程序集(dll或exe)所在目录(以"\"结尾的绝对路径)
             </summary>
         </member>
-        <member name="P:Apq.GlobalObject.TheAssembly">
-            <summary>
-            该程序集
-            </summary>
-        </member>
         <member name="P:Apq.GlobalObject.DllFolder">
             <summary>
             本程序集(dll或exe)所在目录(以"\"结尾的绝对路径)
@@ -3341,6 +3341,11 @@
             Config目录(以"\"结尾)
             </summary>
         </member>
+        <member name="P:Apq.GlobalObject.LogFolder">
+            <summary>
+            日志目录(以"\"结尾)
+            </summary>
+        </member>
         <member name="P:Apq.GlobalObject.NamedInstances">
             <summary>
             命名实例集合
@@ -3476,6 +3481,66 @@
             </summary>
             <remarks>该方法不会产生异常</remarks>
         </member>
+        <member name="T:Apq.Net.FleckWebSocketServer">
+            <summary>
+            代表一个已连接到客户端的长连接(服务端)
+            </summary>
+            <remarks>WebSocket</remarks>
+        </member>
+        <member name="M:Apq.Net.FleckWebSocketServer.#ctor(Fleck.IWebSocketConnection)">
+            <summary>
+            代表一个已连接到客户端的长连接(服务端)
+            </summary>
+            <remarks>WebSocket</remarks>
+        </member>
+        <member name="P:Apq.Net.FleckWebSocketServer.WebSocket">
+            <summary>
+            WebSocket
+            </summary>
+        </member>
+        <member name="M:Apq.Net.FleckWebSocketServer.BindClient">
+            <summary>
+            设置Client相关事件的处理
+            </summary>
+        </member>
+        <member name="M:Apq.Net.FleckWebSocketServer.UnBindClient">
+            <summary>
+            取消Client相关事件的处理
+            </summary>
+        </member>
+        <member name="P:Apq.Net.FleckWebSocketServer.Connected">
+            <summary>
+            是否已连接
+            </summary>
+        </member>
+        <member name="P:Apq.Net.FleckWebSocketServer.ShouldClose">
+            <summary>
+            连接是否应该关闭(已空闲过久)
+            </summary>
+        </member>
+        <member name="M:Apq.Net.FleckWebSocketServer.DoTask_Close(System.String,System.Boolean)">
+            <summary>
+            关闭长连接(实现)
+            </summary>
+            <returns>是否关闭成功</returns>
+        </member>
+        <member name="M:Apq.Net.FleckWebSocketServer.DoSend(System.Collections.Generic.IList{System.Byte},System.Threading.CancellationToken)">
+            <summary>
+            发送数据到客户端(实现)
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="M:Apq.Net.FleckWebSocketServer.DoSend(System.String,System.Threading.CancellationToken)">
+            <summary>
+            发送消息到客户端(实现)
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="M:Apq.Net.FleckWebSocketServer.DoTask_HeartBeat(System.Threading.CancellationToken)">
+            <summary>
+            任务实现:心跳检测
+            </summary>
+        </member>
         <member name="T:Apq.Net.HttpClientHelper">
             <summary>
             使用HttpClient进行Http访问
@@ -3542,6 +3607,428 @@
             <param name="Min">最小值(含)</param>
             <param name="Max">最大值(含)</param>
         </member>
+        <!-- Badly formed XML comment ignored for member "T:Apq.Net.PersistentClient" -->
+        <!-- Badly formed XML comment ignored for member "M:Apq.Net.PersistentClient.#ctor(System.Object)" -->
+        <member name="P:Apq.Net.PersistentClient.SessionID">
+            <summary>
+            服务器分配的客户端标识(会话ID)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.Client">
+            <summary>
+            客户端
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.CTS_Work">
+            <summary>
+            任务的取消令牌:与连接关联的任务(接收、[发送]、心跳)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.CTS_Connect">
+            <summary>
+            任务的取消令牌:连接
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.CTS_PreConnect">
+            <summary>
+            任务的取消令牌:上一次连接
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.Provider_NewClient">
+            <summary>
+            提供:断线重连时创建新连接的方法
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.Init">
+            <summary>
+            对实例进行初始化
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.Dispose(System.Boolean)">
+            <param name="disposing">指定释放类型{true:托管对象,false:未托管对象}</param>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.BindClient">
+            <summary>
+            设置Client相关事件的处理
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.UnBindClient">
+            <summary>
+            取消Client相关事件的处理
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.TryTimes">
+            <summary>
+            已尝试连接的次数
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "P:Apq.Net.PersistentClient.MaxTryTimes" -->
+        <!-- Badly formed XML comment ignored for member "P:Apq.Net.PersistentClient.MaxTryTimes_Runtime" -->
+        <member name="P:Apq.Net.PersistentClient.IsConnecting">
+            <summary>
+            是否正在连接(用于防止重复发起连接)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.HadConnected">
+            <summary>
+            是否曾连接成功过
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.Timeout">
+            <summary>
+            单次连接超时(秒)(国内网络环境,一般情况下3秒就够久了)
+            </summary>
+            <remarks> 总超时时长 = Timeout_Connect * (MaxTryTimes + 1) </remarks>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.Connect">
+            <summary>
+            手动连接服务器(已连接次数归0)
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.DoConnect(System.Int32)">
+            <summary>
+            开启新一轮连接后取消之前的连接
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.DoTask_Connect(System.Int32,System.Threading.CancellationToken)">
+            <summary>
+            等待delay毫秒后启动一次连接
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterConnectTimeout">
+            <summary>
+            连接超时事件
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterConnectError">
+            <summary>
+            连接过程中发生异常时
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterConnected">
+            <summary>
+            连接成功事件
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.Connected">
+            <summary>
+            是否已连接
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.ShouldClose">
+            <summary>
+            连接是否应该关闭(已空闲过久)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.CloseReason">
+            <summary>
+            关闭原因(只接受第一次非空赋值)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.IsCloseByServer">
+            <summary>
+            是否是被服务端断开导致关闭的
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.BeforeClose">
+            <summary>
+            连接关闭前
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterClose">
+            <summary>
+            连接关闭后
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.Close(System.String,System.Boolean)">
+            <summary>
+            新任务中关闭长连接
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.DoTask_Close(System.String,System.Boolean)">
+            <summary>
+            任务实现:关闭长连接
+            </summary>
+            <returns>是否关闭成功</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.Send(System.Collections.Generic.IList{System.Byte},System.Threading.CancellationToken)">
+            <summary>
+            发送数据到服务端
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.SendImp(System.Collections.Generic.IList{System.Byte},System.Threading.CancellationToken)">
+            <summary>
+            发送数据到服务端(实现)
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.Send(System.String,System.Threading.CancellationToken)">
+            <summary>
+            发送消息到服务端
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.SendImp(System.String,System.Threading.CancellationToken)">
+            <summary>
+            发送消息到服务端(实现)
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.BeforeSend">
+            <summary>
+            发送前
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterSend">
+            <summary>
+            发送后
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.BeforeSendMsg">
+            <summary>
+            发送前(文本)
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterSendMsg">
+            <summary>
+            发送后(文本)
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.StartReceive(System.Threading.CancellationToken)">
+            <summary>
+            启动接收任务
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.DoTask_Receive(System.Threading.CancellationToken)">
+            <summary>
+            任务实现:接收
+            </summary>
+            <param name="token"></param>
+            <returns></returns>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterReceiveMsg">
+            <summary>
+            接收到服务端发送的消息后
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterReceiveData">
+            <summary>
+            接收到服务端发送的数据后
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.LastActiveTime">
+            <summary>
+            最后心跳时间
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.Provider_HeartBeatMsg">
+            <summary>
+            提供心跳消息(返回不为空就发)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentClient.Provider_HeartBeatData">
+            <summary>
+            提供心跳数据(返回不为空就发)
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "P:Apq.Net.PersistentClient.MaxTryTimesWhenInterrupted" -->
+        <member name="M:Apq.Net.PersistentClient.StartHeartBeat(System.Threading.CancellationToken)">
+            <summary>
+            启动心跳任务
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.DoTask_HeartBeat(System.Int32,System.Threading.CancellationToken)">
+            <summary>
+            任务实现:心跳检测
+            </summary>
+            <param name="interval">间隔(毫秒)</param>
+        </member>
+        <member name="E:Apq.Net.PersistentClient.AfterHeartBeatTimeout">
+            <summary>
+            心跳超时后
+            </summary>
+            <returns>是否取消心跳任务</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentClient.OnAfterHeartBeatTimeout">
+            <summary>
+            心跳超时后的处理
+            </summary>
+            <returns>是否取消心跳任务</returns>
+        </member>
+        <member name="T:Apq.Net.PersistentServer">
+            <summary>
+            代表一个已连接到客户端的长连接(服务端)
+            </summary>
+            <param name="client">IWebSocketConnection或Socket</param>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.#ctor(System.Object)">
+            <summary>
+            代表一个已连接到客户端的长连接(服务端)
+            </summary>
+            <param name="client">IWebSocketConnection或Socket</param>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.SessionID">
+            <summary>
+            自动分配客户端标识(会话ID)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.Client">
+            <summary>
+            已接受的客户端(已连接)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.CTS_Work">
+            <summary>
+            任务的取消令牌:与连接关联的所有任务
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.Init">
+            <summary>
+            对实例进行初始化
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.Dispose(System.Boolean)">
+            <param name="disposing">指定释放类型{true:托管对象,false:未托管对象}</param>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.BindClient">
+            <summary>
+            设置Client相关事件的处理
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.UnBindClient">
+            <summary>
+            取消Client相关事件的处理
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.ShouldAbandon">
+            <summary>
+            此连接是否应抛弃(不能再用了)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.Connected">
+            <summary>
+            是否已连接
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.ShouldClose">
+            <summary>
+            连接是否应该关闭(已空闲过久)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.CloseReason">
+            <summary>
+            关闭原因(只接受第一次非空赋值)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.IsCloseByClient">
+            <summary>
+            是否是被客户端断开导致关闭的
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.BeforeClose">
+            <summary>
+            连接关闭前
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.AfterClose">
+            <summary>
+            连接关闭后
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.Close(System.String,System.Boolean)">
+            <summary>
+            新任务中关闭长连接
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.DoTask_Close(System.String,System.Boolean)">
+            <summary>
+            任务实现:关闭长连接
+            </summary>
+            <returns>是否关闭成功</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.Send(System.Collections.Generic.IList{System.Byte},System.Threading.CancellationToken)">
+            <summary>
+            发送数据到客户端
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.DoSend(System.Collections.Generic.IList{System.Byte},System.Threading.CancellationToken)">
+            <summary>
+            发送数据到客户端(实现)
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.Send(System.String,System.Threading.CancellationToken)">
+            <summary>
+            发送消息到客户端
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.DoSend(System.String,System.Threading.CancellationToken)">
+            <summary>
+            发送消息到客户端(实现)
+            </summary>
+            <returns>是否发送成功</returns>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.BeforeSend">
+            <summary>
+            发送前
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.AfterSend">
+            <summary>
+            发送后
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.BeforeSendMsg">
+            <summary>
+            发送前(文本)
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.AfterSendMsg">
+            <summary>
+            发送后(文本)
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.AfterReceiveMsg">
+            <summary>
+            接收到客户端发送的消息后
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.AfterReceiveData">
+            <summary>
+            接收到客户端发送的数据后
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PersistentServer.LastActiveTime">
+            <summary>
+            最后心跳时间(由客户端发起)
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.StartHeartBeat(System.Threading.CancellationToken)">
+            <summary>
+            启动心跳任务
+            </summary>
+        </member>
+        <member name="E:Apq.Net.PersistentServer.AfterHeartBeatTimeout">
+            <summary>
+            心跳超时后
+            </summary>
+            <returns>是否取消心跳任务</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.OnAfterHeartBeatTimeout">
+            <summary>
+            心跳超时后的处理
+            </summary>
+            <returns>是否取消心跳任务</returns>
+        </member>
+        <member name="M:Apq.Net.PersistentServer.DoTask_HeartBeat(System.Int32,System.Threading.CancellationToken)">
+            <summary>
+            任务实现:心跳检测
+            </summary>
+            <param name="interval">间隔(毫秒)</param>
+        </member>
         <member name="T:Apq.Net.PortEndPoint">
             <summary>
             端口端点

BIN
charge64/charge64/CP.dll


BIN
charge64/charge64/CP.pdb


+ 249 - 235
charge64/charge64/Charge64.deps.json

@@ -11,16 +11,16 @@
           "CP": "1.0.0",
           "DB.DS64": "1.0.0",
           "DB.DSUser64": "1.0.0",
-          "Google.Protobuf": "3.25.3",
+          "Google.Protobuf": "3.26.0",
           "Grpc.AspNetCore": "2.61.0",
           "Grpc.AspNetCore.Server.Reflection": "2.61.0",
           "Grpc.AspNetCore.Web": "2.61.0",
-          "Microsoft.AspNetCore.Grpc.JsonTranscoding": "8.0.2",
-          "Microsoft.AspNetCore.Grpc.Swagger": "0.8.2",
-          "Microsoft.EntityFrameworkCore.InMemory": "8.0.2",
-          "Microsoft.EntityFrameworkCore.SqlServer": "8.0.2",
-          "Microsoft.EntityFrameworkCore.Sqlite": "8.0.2",
-          "Microsoft.EntityFrameworkCore.Tools": "8.0.2",
+          "Microsoft.AspNetCore.Grpc.JsonTranscoding": "8.0.3",
+          "Microsoft.AspNetCore.Grpc.Swagger": "0.8.3",
+          "Microsoft.EntityFrameworkCore.InMemory": "8.0.3",
+          "Microsoft.EntityFrameworkCore.SqlServer": "8.0.3",
+          "Microsoft.EntityFrameworkCore.Sqlite": "8.0.3",
+          "Microsoft.EntityFrameworkCore.Tools": "8.0.3",
           "Microsoft.VisualStudio.Azure.Containers.Tools.Targets": "1.19.6",
           "Mindbox.I18n": "12.2.54",
           "MySql.Data": "8.3.0",
@@ -30,7 +30,7 @@
           "Quartz.AspNetCore": "3.8.1",
           "SwaggerDoc": "1.0.1",
           "System.Linq.Dynamic.Core": "1.3.10",
-          "log4net": "2.0.15",
+          "log4net": "2.0.16",
           "Apq": "1.0.0.0",
           "Apq.Web5": "1.0.0.0"
         },
@@ -104,7 +104,7 @@
       },
       "Google.Api.CommonProtos/2.5.0": {
         "dependencies": {
-          "Google.Protobuf": "3.25.3"
+          "Google.Protobuf": "3.26.0"
         },
         "runtime": {
           "lib/netstandard2.0/Google.Api.CommonProtos.dll": {
@@ -113,11 +113,11 @@
           }
         }
       },
-      "Google.Protobuf/3.25.3": {
+      "Google.Protobuf/3.26.0": {
         "runtime": {
           "lib/net5.0/Google.Protobuf.dll": {
-            "assemblyVersion": "3.25.3.0",
-            "fileVersion": "3.25.3.0"
+            "assemblyVersion": "3.26.0.0",
+            "fileVersion": "3.26.0.0"
           }
         }
       },
@@ -128,7 +128,7 @@
       },
       "Grpc.AspNetCore/2.61.0": {
         "dependencies": {
-          "Google.Protobuf": "3.25.3",
+          "Google.Protobuf": "3.26.0",
           "Grpc.AspNetCore.Server.ClientFactory": "2.61.0",
           "Grpc.Tools": "2.61.0"
         }
@@ -158,7 +158,7 @@
       },
       "Grpc.AspNetCore.Server.Reflection/2.61.0": {
         "dependencies": {
-          "Google.Protobuf": "3.25.3",
+          "Google.Protobuf": "3.26.0",
           "Grpc.AspNetCore.Server": "2.61.0",
           "Grpc.Reflection": "2.61.0"
         },
@@ -227,7 +227,7 @@
       "Grpc.Net.Client/2.61.0": {
         "dependencies": {
           "Grpc.Net.Common": "2.61.0",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0"
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1"
         },
         "runtime": {
           "lib/net8.0/Grpc.Net.Client.dll": {
@@ -261,7 +261,7 @@
       },
       "Grpc.Reflection/2.61.0": {
         "dependencies": {
-          "Google.Protobuf": "3.25.3",
+          "Google.Protobuf": "3.26.0",
           "Grpc.Core.Api": "2.61.0"
         },
         "runtime": {
@@ -302,39 +302,39 @@
           }
         }
       },
-      "log4net/2.0.15": {
+      "log4net/2.0.16": {
         "dependencies": {
           "System.Configuration.ConfigurationManager": "6.0.1"
         },
         "runtime": {
           "lib/netstandard2.0/log4net.dll": {
-            "assemblyVersion": "2.0.15.0",
-            "fileVersion": "2.0.15.0"
+            "assemblyVersion": "2.0.16.0",
+            "fileVersion": "2.0.16.0"
           }
         }
       },
-      "Microsoft.AspNetCore.Grpc.JsonTranscoding/8.0.2": {
+      "Microsoft.AspNetCore.Grpc.JsonTranscoding/8.0.3": {
         "dependencies": {
           "Google.Api.CommonProtos": "2.5.0",
-          "Google.Protobuf": "3.25.3",
+          "Google.Protobuf": "3.26.0",
           "Grpc.AspNetCore.Server": "2.61.0"
         },
         "runtime": {
           "lib/net8.0/Microsoft.AspNetCore.Grpc.JsonTranscoding.dll": {
-            "assemblyVersion": "8.0.2.0",
-            "fileVersion": "8.0.224.6804"
+            "assemblyVersion": "8.0.3.0",
+            "fileVersion": "8.0.324.11615"
           }
         }
       },
-      "Microsoft.AspNetCore.Grpc.Swagger/0.8.2": {
+      "Microsoft.AspNetCore.Grpc.Swagger/0.8.3": {
         "dependencies": {
-          "Microsoft.AspNetCore.Grpc.JsonTranscoding": "8.0.2",
+          "Microsoft.AspNetCore.Grpc.JsonTranscoding": "8.0.3",
           "Swashbuckle.AspNetCore": "6.5.0"
         },
         "runtime": {
           "lib/net8.0/Microsoft.AspNetCore.Grpc.Swagger.dll": {
-            "assemblyVersion": "0.8.2.0",
-            "fileVersion": "0.800.224.6804"
+            "assemblyVersion": "0.8.3.0",
+            "fileVersion": "0.800.324.11615"
           }
         }
       },
@@ -380,13 +380,13 @@
         }
       },
       "Microsoft.CSharp/4.5.0": {},
-      "Microsoft.Data.SqlClient/5.1.4": {
+      "Microsoft.Data.SqlClient/5.1.5": {
         "dependencies": {
           "Azure.Identity": "1.10.3",
           "Microsoft.Data.SqlClient.SNI.runtime": "5.1.1",
           "Microsoft.Identity.Client": "4.56.0",
-          "Microsoft.IdentityModel.JsonWebTokens": "6.24.0",
-          "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.24.0",
+          "Microsoft.IdentityModel.JsonWebTokens": "6.35.0",
+          "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.35.0",
           "Microsoft.SqlServer.Server": "1.0.0",
           "System.Configuration.ConfigurationManager": "6.0.1",
           "System.Diagnostics.DiagnosticSource": "8.0.0",
@@ -399,7 +399,7 @@
         "runtime": {
           "lib/net6.0/Microsoft.Data.SqlClient.dll": {
             "assemblyVersion": "5.0.0.0",
-            "fileVersion": "5.14.24005.1"
+            "fileVersion": "5.15.24027.2"
           }
         },
         "runtimeTargets": {
@@ -407,13 +407,13 @@
             "rid": "unix",
             "assetType": "runtime",
             "assemblyVersion": "5.0.0.0",
-            "fileVersion": "5.14.24005.1"
+            "fileVersion": "5.15.24027.2"
           },
           "runtimes/win/lib/net6.0/Microsoft.Data.SqlClient.dll": {
             "rid": "win",
             "assetType": "runtime",
             "assemblyVersion": "5.0.0.0",
-            "fileVersion": "5.14.24005.1"
+            "fileVersion": "5.15.24027.2"
           }
         }
       },
@@ -441,106 +441,106 @@
           }
         }
       },
-      "Microsoft.Data.Sqlite.Core/8.0.2": {
+      "Microsoft.Data.Sqlite.Core/8.0.3": {
         "dependencies": {
           "SQLitePCLRaw.core": "2.1.6"
         },
         "runtime": {
           "lib/net8.0/Microsoft.Data.Sqlite.dll": {
-            "assemblyVersion": "8.0.2.0",
-            "fileVersion": "8.0.224.6803"
+            "assemblyVersion": "8.0.3.0",
+            "fileVersion": "8.0.324.11510"
           }
         }
       },
-      "Microsoft.EntityFrameworkCore/8.0.2": {
+      "Microsoft.EntityFrameworkCore/8.0.3": {
         "dependencies": {
-          "Microsoft.EntityFrameworkCore.Abstractions": "8.0.2",
-          "Microsoft.EntityFrameworkCore.Analyzers": "8.0.2",
+          "Microsoft.EntityFrameworkCore.Abstractions": "8.0.3",
+          "Microsoft.EntityFrameworkCore.Analyzers": "8.0.3",
           "Microsoft.Extensions.Caching.Memory": "8.0.0",
           "Microsoft.Extensions.Logging": "8.0.0"
         },
         "runtime": {
           "lib/net8.0/Microsoft.EntityFrameworkCore.dll": {
-            "assemblyVersion": "8.0.2.0",
-            "fileVersion": "8.0.224.6803"
+            "assemblyVersion": "8.0.3.0",
+            "fileVersion": "8.0.324.11510"
           }
         }
       },
-      "Microsoft.EntityFrameworkCore.Abstractions/8.0.2": {
+      "Microsoft.EntityFrameworkCore.Abstractions/8.0.3": {
         "runtime": {
           "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
-            "assemblyVersion": "8.0.2.0",
-            "fileVersion": "8.0.224.6803"
+            "assemblyVersion": "8.0.3.0",
+            "fileVersion": "8.0.324.11510"
           }
         }
       },
-      "Microsoft.EntityFrameworkCore.Analyzers/8.0.2": {},
-      "Microsoft.EntityFrameworkCore.Design/8.0.2": {
+      "Microsoft.EntityFrameworkCore.Analyzers/8.0.3": {},
+      "Microsoft.EntityFrameworkCore.Design/8.0.3": {
         "dependencies": {
           "Humanizer.Core": "2.14.1",
           "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.5.0",
-          "Microsoft.EntityFrameworkCore.Relational": "8.0.2",
+          "Microsoft.EntityFrameworkCore.Relational": "8.0.3",
           "Microsoft.Extensions.DependencyModel": "8.0.0",
           "Mono.TextTemplating": "2.2.1"
         }
       },
-      "Microsoft.EntityFrameworkCore.InMemory/8.0.2": {
+      "Microsoft.EntityFrameworkCore.InMemory/8.0.3": {
         "dependencies": {
-          "Microsoft.EntityFrameworkCore": "8.0.2"
+          "Microsoft.EntityFrameworkCore": "8.0.3"
         },
         "runtime": {
           "lib/net8.0/Microsoft.EntityFrameworkCore.InMemory.dll": {
-            "assemblyVersion": "8.0.2.0",
-            "fileVersion": "8.0.224.6803"
+            "assemblyVersion": "8.0.3.0",
+            "fileVersion": "8.0.324.11510"
           }
         }
       },
-      "Microsoft.EntityFrameworkCore.Relational/8.0.2": {
+      "Microsoft.EntityFrameworkCore.Relational/8.0.3": {
         "dependencies": {
-          "Microsoft.EntityFrameworkCore": "8.0.2",
+          "Microsoft.EntityFrameworkCore": "8.0.3",
           "Microsoft.Extensions.Configuration.Abstractions": "8.0.0"
         },
         "runtime": {
           "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": {
-            "assemblyVersion": "8.0.2.0",
-            "fileVersion": "8.0.224.6803"
+            "assemblyVersion": "8.0.3.0",
+            "fileVersion": "8.0.324.11510"
           }
         }
       },
-      "Microsoft.EntityFrameworkCore.Sqlite/8.0.2": {
+      "Microsoft.EntityFrameworkCore.Sqlite/8.0.3": {
         "dependencies": {
-          "Microsoft.EntityFrameworkCore.Sqlite.Core": "8.0.2",
+          "Microsoft.EntityFrameworkCore.Sqlite.Core": "8.0.3",
           "SQLitePCLRaw.bundle_e_sqlite3": "2.1.6"
         }
       },
-      "Microsoft.EntityFrameworkCore.Sqlite.Core/8.0.2": {
+      "Microsoft.EntityFrameworkCore.Sqlite.Core/8.0.3": {
         "dependencies": {
-          "Microsoft.Data.Sqlite.Core": "8.0.2",
-          "Microsoft.EntityFrameworkCore.Relational": "8.0.2",
+          "Microsoft.Data.Sqlite.Core": "8.0.3",
+          "Microsoft.EntityFrameworkCore.Relational": "8.0.3",
           "Microsoft.Extensions.DependencyModel": "8.0.0"
         },
         "runtime": {
           "lib/net8.0/Microsoft.EntityFrameworkCore.Sqlite.dll": {
-            "assemblyVersion": "8.0.2.0",
-            "fileVersion": "8.0.224.6803"
+            "assemblyVersion": "8.0.3.0",
+            "fileVersion": "8.0.324.11510"
           }
         }
       },
-      "Microsoft.EntityFrameworkCore.SqlServer/8.0.2": {
+      "Microsoft.EntityFrameworkCore.SqlServer/8.0.3": {
         "dependencies": {
-          "Microsoft.Data.SqlClient": "5.1.4",
-          "Microsoft.EntityFrameworkCore.Relational": "8.0.2"
+          "Microsoft.Data.SqlClient": "5.1.5",
+          "Microsoft.EntityFrameworkCore.Relational": "8.0.3"
         },
         "runtime": {
           "lib/net8.0/Microsoft.EntityFrameworkCore.SqlServer.dll": {
-            "assemblyVersion": "8.0.2.0",
-            "fileVersion": "8.0.224.6803"
+            "assemblyVersion": "8.0.3.0",
+            "fileVersion": "8.0.324.11510"
           }
         }
       },
-      "Microsoft.EntityFrameworkCore.Tools/8.0.2": {
+      "Microsoft.EntityFrameworkCore.Tools/8.0.3": {
         "dependencies": {
-          "Microsoft.EntityFrameworkCore.Design": "8.0.2"
+          "Microsoft.EntityFrameworkCore.Design": "8.0.3"
         }
       },
       "Microsoft.Extensions.ApiDescription.Server/6.0.5": {},
@@ -552,8 +552,8 @@
       "Microsoft.Extensions.Caching.Memory/8.0.0": {
         "dependencies": {
           "Microsoft.Extensions.Caching.Abstractions": "8.0.0",
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "Microsoft.Extensions.Options": "8.0.0",
           "Microsoft.Extensions.Primitives": "8.0.0"
         }
@@ -597,10 +597,17 @@
       },
       "Microsoft.Extensions.DependencyInjection/8.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0"
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1"
+        }
+      },
+      "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.1": {
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.324.11423"
+          }
         }
       },
-      "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": {},
       "Microsoft.Extensions.DependencyModel/8.0.0": {
         "dependencies": {
           "System.Text.Encodings.Web": "8.0.0",
@@ -615,7 +622,7 @@
       },
       "Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
           "Microsoft.Extensions.Options": "8.0.0",
           "System.Diagnostics.DiagnosticSource": "8.0.0"
         }
@@ -624,7 +631,7 @@
         "dependencies": {
           "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "8.0.0",
           "Microsoft.Extensions.Hosting.Abstractions": "8.0.0",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "Microsoft.Extensions.Options": "8.0.0"
         }
       },
@@ -645,49 +652,55 @@
       "Microsoft.Extensions.Hosting.Abstractions/8.0.0": {
         "dependencies": {
           "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
           "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0",
           "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0"
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1"
         }
       },
       "Microsoft.Extensions.Http/6.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
           "Microsoft.Extensions.Logging": "8.0.0",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "Microsoft.Extensions.Options": "8.0.0"
         }
       },
       "Microsoft.Extensions.Logging/8.0.0": {
         "dependencies": {
           "Microsoft.Extensions.DependencyInjection": "8.0.0",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "Microsoft.Extensions.Options": "8.0.0"
         }
       },
-      "Microsoft.Extensions.Logging.Abstractions/8.0.0": {
+      "Microsoft.Extensions.Logging.Abstractions/8.0.1": {
         "dependencies": {
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0"
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1"
+        },
+        "runtime": {
+          "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.324.11423"
+          }
         }
       },
       "Microsoft.Extensions.Logging.Debug/8.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
           "Microsoft.Extensions.Logging": "8.0.0",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0"
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1"
         }
       },
       "Microsoft.Extensions.Options/8.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
           "Microsoft.Extensions.Primitives": "8.0.0"
         }
       },
       "Microsoft.Extensions.Primitives/8.0.0": {},
       "Microsoft.Identity.Client/4.56.0": {
         "dependencies": {
-          "Microsoft.IdentityModel.Abstractions": "6.24.0"
+          "Microsoft.IdentityModel.Abstractions": "6.35.0"
         },
         "runtime": {
           "lib/net6.0/Microsoft.Identity.Client.dll": {
@@ -709,72 +722,73 @@
           }
         }
       },
-      "Microsoft.IdentityModel.Abstractions/6.24.0": {
+      "Microsoft.IdentityModel.Abstractions/6.35.0": {
         "runtime": {
           "lib/net6.0/Microsoft.IdentityModel.Abstractions.dll": {
-            "assemblyVersion": "6.24.0.0",
-            "fileVersion": "6.24.0.31013"
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
-      "Microsoft.IdentityModel.JsonWebTokens/6.24.0": {
+      "Microsoft.IdentityModel.JsonWebTokens/6.35.0": {
         "dependencies": {
-          "Microsoft.IdentityModel.Tokens": "6.24.0",
+          "Microsoft.IdentityModel.Tokens": "6.35.0",
           "System.Text.Encoding": "4.3.0",
+          "System.Text.Encodings.Web": "8.0.0",
           "System.Text.Json": "8.0.0"
         },
         "runtime": {
           "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
-            "assemblyVersion": "6.24.0.0",
-            "fileVersion": "6.24.0.31013"
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
-      "Microsoft.IdentityModel.Logging/6.24.0": {
+      "Microsoft.IdentityModel.Logging/6.35.0": {
         "dependencies": {
-          "Microsoft.IdentityModel.Abstractions": "6.24.0"
+          "Microsoft.IdentityModel.Abstractions": "6.35.0"
         },
         "runtime": {
           "lib/net6.0/Microsoft.IdentityModel.Logging.dll": {
-            "assemblyVersion": "6.24.0.0",
-            "fileVersion": "6.24.0.31013"
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
-      "Microsoft.IdentityModel.Protocols/6.24.0": {
+      "Microsoft.IdentityModel.Protocols/6.35.0": {
         "dependencies": {
-          "Microsoft.IdentityModel.Logging": "6.24.0",
-          "Microsoft.IdentityModel.Tokens": "6.24.0"
+          "Microsoft.IdentityModel.Logging": "6.35.0",
+          "Microsoft.IdentityModel.Tokens": "6.35.0"
         },
         "runtime": {
           "lib/net6.0/Microsoft.IdentityModel.Protocols.dll": {
-            "assemblyVersion": "6.24.0.0",
-            "fileVersion": "6.24.0.31013"
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
-      "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.24.0": {
+      "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.35.0": {
         "dependencies": {
-          "Microsoft.IdentityModel.Protocols": "6.24.0",
-          "System.IdentityModel.Tokens.Jwt": "6.24.0"
+          "Microsoft.IdentityModel.Protocols": "6.35.0",
+          "System.IdentityModel.Tokens.Jwt": "6.35.0"
         },
         "runtime": {
           "lib/net6.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {
-            "assemblyVersion": "6.24.0.0",
-            "fileVersion": "6.24.0.31013"
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
-      "Microsoft.IdentityModel.Tokens/6.24.0": {
+      "Microsoft.IdentityModel.Tokens/6.35.0": {
         "dependencies": {
           "Microsoft.CSharp": "4.5.0",
-          "Microsoft.IdentityModel.Logging": "6.24.0",
+          "Microsoft.IdentityModel.Logging": "6.35.0",
           "System.Security.Cryptography.Cng": "5.0.0"
         },
         "runtime": {
           "lib/net6.0/Microsoft.IdentityModel.Tokens.dll": {
-            "assemblyVersion": "6.24.0.0",
-            "fileVersion": "6.24.0.31013"
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
@@ -815,8 +829,8 @@
       },
       "Mindbox.I18n/12.2.54": {
         "dependencies": {
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "Mindbox.I18n.Abstractions": "12.0.0",
           "System.Text.Json": "8.0.0"
         },
@@ -829,7 +843,7 @@
       },
       "Mindbox.I18n.Abstractions/12.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0"
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1"
         },
         "runtime": {
           "lib/net7.0/Mindbox.I18n.Abstractions.dll": {
@@ -846,7 +860,7 @@
       "MySql.Data/8.3.0": {
         "dependencies": {
           "BouncyCastle.Cryptography": "2.3.0",
-          "Google.Protobuf": "3.25.3",
+          "Google.Protobuf": "3.26.0",
           "K4os.Compression.LZ4.Streams": "1.3.5",
           "System.Buffers": "4.5.1",
           "System.Configuration.ConfigurationManager": "6.0.1",
@@ -914,7 +928,7 @@
       },
       "Quartz/3.8.1": {
         "dependencies": {
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "System.Configuration.ConfigurationManager": "6.0.1"
         },
         "runtime": {
@@ -926,7 +940,7 @@
       },
       "Quartz.AspNetCore/3.8.1": {
         "dependencies": {
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
           "Microsoft.Extensions.Diagnostics.HealthChecks": "8.0.0",
           "Quartz.Extensions.Hosting": "3.8.1"
         },
@@ -940,7 +954,7 @@
       "Quartz.Extensions.DependencyInjection/3.8.1": {
         "dependencies": {
           "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
-          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+          "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
           "Microsoft.Extensions.Options": "8.0.0",
           "Quartz": "3.8.1"
         },
@@ -1225,15 +1239,15 @@
         }
       },
       "System.Formats.Asn1/5.0.0": {},
-      "System.IdentityModel.Tokens.Jwt/6.24.0": {
+      "System.IdentityModel.Tokens.Jwt/6.35.0": {
         "dependencies": {
-          "Microsoft.IdentityModel.JsonWebTokens": "6.24.0",
-          "Microsoft.IdentityModel.Tokens": "6.24.0"
+          "Microsoft.IdentityModel.JsonWebTokens": "6.35.0",
+          "Microsoft.IdentityModel.Tokens": "6.35.0"
         },
         "runtime": {
           "lib/net6.0/System.IdentityModel.Tokens.Jwt.dll": {
-            "assemblyVersion": "6.24.0.0",
-            "fileVersion": "6.24.0.31013"
+            "assemblyVersion": "6.35.0.0",
+            "fileVersion": "6.35.0.41201"
           }
         }
       },
@@ -1422,11 +1436,11 @@
         "dependencies": {
           "BouncyCastle.Cryptography": "2.3.0",
           "Grpc": "2.46.6",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "Newtonsoft.Json": "13.0.3",
           "OpenQQ": "1.0.0",
           "Pb": "1.0.0",
-          "log4net": "2.0.15"
+          "log4net": "2.0.16"
         },
         "runtime": {
           "CP.dll": {}
@@ -1434,10 +1448,10 @@
       },
       "DB.DS64/1.0.0": {
         "dependencies": {
-          "Microsoft.EntityFrameworkCore.InMemory": "8.0.2",
-          "Microsoft.EntityFrameworkCore.SqlServer": "8.0.2",
-          "Microsoft.EntityFrameworkCore.Sqlite": "8.0.2",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.EntityFrameworkCore.InMemory": "8.0.3",
+          "Microsoft.EntityFrameworkCore.SqlServer": "8.0.3",
+          "Microsoft.EntityFrameworkCore.Sqlite": "8.0.3",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "Microsoft.Extensions.Logging.Debug": "8.0.0",
           "MySql.Data": "8.3.0",
           "System.Linq.Dynamic.Core": "1.3.10"
@@ -1448,10 +1462,10 @@
       },
       "DB.DSUser64/1.0.0": {
         "dependencies": {
-          "Microsoft.EntityFrameworkCore.InMemory": "8.0.2",
-          "Microsoft.EntityFrameworkCore.SqlServer": "8.0.2",
-          "Microsoft.EntityFrameworkCore.Sqlite": "8.0.2",
-          "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+          "Microsoft.EntityFrameworkCore.InMemory": "8.0.3",
+          "Microsoft.EntityFrameworkCore.SqlServer": "8.0.3",
+          "Microsoft.EntityFrameworkCore.Sqlite": "8.0.3",
+          "Microsoft.Extensions.Logging.Abstractions": "8.0.1",
           "Microsoft.Extensions.Logging.Debug": "8.0.0",
           "MySql.Data": "8.3.0",
           "System.Linq.Dynamic.Core": "1.3.10"
@@ -1466,7 +1480,7 @@
           "Microsoft.Extensions.Primitives": "8.0.0",
           "Newtonsoft.Json": "13.0.3",
           "SdkBase": "1.0.0",
-          "log4net": "2.0.15"
+          "log4net": "2.0.16"
         },
         "runtime": {
           "OpenQQ.dll": {}
@@ -1474,7 +1488,7 @@
       },
       "Pb/1.0.0": {
         "dependencies": {
-          "Google.Protobuf": "3.25.3",
+          "Google.Protobuf": "3.26.0",
           "Grpc.Net.Client": "2.61.0"
         },
         "runtime": {
@@ -1552,12 +1566,12 @@
       "path": "google.api.commonprotos/2.5.0",
       "hashPath": "google.api.commonprotos.2.5.0.nupkg.sha512"
     },
-    "Google.Protobuf/3.25.3": {
+    "Google.Protobuf/3.26.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-fDY/kt0gy2nVcoeMmiyDMtwgvDJG5qaU7+Ic77szKTvVkIvoo7tyf+d+QDlKSosB+FjoKocX/ObObxqKCq60uA==",
-      "path": "google.protobuf/3.25.3",
-      "hashPath": "google.protobuf.3.25.3.nupkg.sha512"
+      "sha512": "sha512-AkWr2Hz/rycJapYHXS3gT5UVq8K8D2gkNA70ePe22oejNVGMkw5Mtasri2VbNtBCgbqtE8MsIPYp73xud2wAVQ==",
+      "path": "google.protobuf/3.26.0",
+      "hashPath": "google.protobuf.3.26.0.nupkg.sha512"
     },
     "Grpc/2.46.6": {
       "type": "package",
@@ -1678,26 +1692,26 @@
       "path": "k4os.hash.xxhash/1.0.8",
       "hashPath": "k4os.hash.xxhash.1.0.8.nupkg.sha512"
     },
-    "log4net/2.0.15": {
+    "log4net/2.0.16": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-GahnO9ZgFka+xYcFwAfIFjW+k86P2nxFoaEpH6t3v4hiGj7tv2ksVZphxCVIHmJxoySS0HeU3dgCW+bSCcfD0A==",
-      "path": "log4net/2.0.15",
-      "hashPath": "log4net.2.0.15.nupkg.sha512"
+      "sha512": "sha512-6MoFh1BB83ZPiUHXlIJQZsoXSMlwnrNHmiPTGCobA6Ik3fmeNVLgEwF0MjxZtec2PfB0WdL81XCAtxjrummCCg==",
+      "path": "log4net/2.0.16",
+      "hashPath": "log4net.2.0.16.nupkg.sha512"
     },
-    "Microsoft.AspNetCore.Grpc.JsonTranscoding/8.0.2": {
+    "Microsoft.AspNetCore.Grpc.JsonTranscoding/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-fMB2FyyRukLmWwtxw06aD0TN0LYy/tlB3aICoJYXzUutA5OeFbpeiAkEC7+Pkj6DYIfBQM4REfw4mQwPVhUY6Q==",
-      "path": "microsoft.aspnetcore.grpc.jsontranscoding/8.0.2",
-      "hashPath": "microsoft.aspnetcore.grpc.jsontranscoding.8.0.2.nupkg.sha512"
+      "sha512": "sha512-TPnrM7aH2SiUDHAOGlNwlDlqgMsw62RT0j4zTZD3CYX6M8jdRF7cpGnvjpv4WJ7gIBfnCOAvXKJaZd3SYON//g==",
+      "path": "microsoft.aspnetcore.grpc.jsontranscoding/8.0.3",
+      "hashPath": "microsoft.aspnetcore.grpc.jsontranscoding.8.0.3.nupkg.sha512"
     },
-    "Microsoft.AspNetCore.Grpc.Swagger/0.8.2": {
+    "Microsoft.AspNetCore.Grpc.Swagger/0.8.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-tHff/qDoevlPDr+7QWYxydNs8kK6kRZeWinvJ37qRymwHmbNOgnt81/wIzX+fOHTpS8qnF8JAZUQPdghKVLIHw==",
-      "path": "microsoft.aspnetcore.grpc.swagger/0.8.2",
-      "hashPath": "microsoft.aspnetcore.grpc.swagger.0.8.2.nupkg.sha512"
+      "sha512": "sha512-FG7QBQhhqCIQChi51EmGBRNqJ5jYD6EDqRG93KkLISaHwyWTxDG5rj6pfAOOzW7prCWEMwuxquTI3fbW9PtBjQ==",
+      "path": "microsoft.aspnetcore.grpc.swagger/0.8.3",
+      "hashPath": "microsoft.aspnetcore.grpc.swagger.0.8.3.nupkg.sha512"
     },
     "Microsoft.Bcl.AsyncInterfaces/6.0.0": {
       "type": "package",
@@ -1748,12 +1762,12 @@
       "path": "microsoft.csharp/4.5.0",
       "hashPath": "microsoft.csharp.4.5.0.nupkg.sha512"
     },
-    "Microsoft.Data.SqlClient/5.1.4": {
+    "Microsoft.Data.SqlClient/5.1.5": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-RSGSodusrPSVPKBLETRTH51G0yUQS28rD1hi2svTKS1GOsvUWxUpE8hgnKnUFC9RNjzfQmfUp+T0lJHFtlT3HQ==",
-      "path": "microsoft.data.sqlclient/5.1.4",
-      "hashPath": "microsoft.data.sqlclient.5.1.4.nupkg.sha512"
+      "sha512": "sha512-6kvhQjY5uBCdBccezFD2smfnpQjQ33cZtUZVrNvxlwoBu6uopM5INH6uSgLI7JRLtlQ3bMPwnhMq4kchsXeZ5w==",
+      "path": "microsoft.data.sqlclient/5.1.5",
+      "hashPath": "microsoft.data.sqlclient.5.1.5.nupkg.sha512"
     },
     "Microsoft.Data.SqlClient.SNI.runtime/5.1.1": {
       "type": "package",
@@ -1762,82 +1776,82 @@
       "path": "microsoft.data.sqlclient.sni.runtime/5.1.1",
       "hashPath": "microsoft.data.sqlclient.sni.runtime.5.1.1.nupkg.sha512"
     },
-    "Microsoft.Data.Sqlite.Core/8.0.2": {
+    "Microsoft.Data.Sqlite.Core/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-C7VelOBNUrVlatmOoJ9P+vc/gegduv7d2uB5oy7bFxfgZBfaGr+eREW+QuppXwi3MHp0WBxxWjqkK5gD7ymDQA==",
-      "path": "microsoft.data.sqlite.core/8.0.2",
-      "hashPath": "microsoft.data.sqlite.core.8.0.2.nupkg.sha512"
+      "sha512": "sha512-1euU97SivROH7nVIh2c/V63e0nQ73Txr/YlysB7fJuTV8LcfeL9WO1gdiJWcRIDoq8/McxcTc7evY6JJ1pD95w==",
+      "path": "microsoft.data.sqlite.core/8.0.3",
+      "hashPath": "microsoft.data.sqlite.core.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore/8.0.2": {
+    "Microsoft.EntityFrameworkCore/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-6QlvBx4rdawW3AkkCsGVV+8qRLk34aknV5JD40s1hbVR18vKmT2KDl2DW83nHcPX7f4oebQ3BD1UMNCI/gkE0g==",
-      "path": "microsoft.entityframeworkcore/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.8.0.2.nupkg.sha512"
+      "sha512": "sha512-QUPQbeq4yCjgIL/6PzkhfwhljXmai3CNOsErWFJ/WJ1Z41V8+At0Bi4PT8/2pX25kPgf83g0CUKIZd0QbeKT4A==",
+      "path": "microsoft.entityframeworkcore/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.Abstractions/8.0.2": {
+    "Microsoft.EntityFrameworkCore.Abstractions/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-DjDKp++BTKFZmX+xLTow7grQTY+pImKfhGW68Zf8myiL3zyJ3b8RZbnLsWGNCqKQIF6hJIz/zA/zmERobFwV0A==",
-      "path": "microsoft.entityframeworkcore.abstractions/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.abstractions.8.0.2.nupkg.sha512"
+      "sha512": "sha512-cW+SKdx34wZ25ZVKCpk/6+6z27wrZlQ1qXyx7UWpy34s9CyAojH0QiYlV/2owNOGSAH67rm+LxAjUOicsqlGzQ==",
+      "path": "microsoft.entityframeworkcore.abstractions/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.abstractions.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.Analyzers/8.0.2": {
+    "Microsoft.EntityFrameworkCore.Analyzers/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-LI7awhc0fiAKvcUemsqxXUWqzAH9ywTSyM1rpC1un4p5SE1bhr5nRLvyRVbKRzKakmnNNY3to8NPDnoySEkxVw==",
-      "path": "microsoft.entityframeworkcore.analyzers/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.analyzers.8.0.2.nupkg.sha512"
+      "sha512": "sha512-3csRAzz5O5Gn+GQBMyLn26OICtEo2/U2iDDygQhKb3LnC78bAUvutkMqvb0Ek5A6uHrBcZQrKQJfkgfnRT5XZw==",
+      "path": "microsoft.entityframeworkcore.analyzers/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.analyzers.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.Design/8.0.2": {
+    "Microsoft.EntityFrameworkCore.Design/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-lpSEopadyq4VjgErVbKXznlzmrdR+1zG4jjJlumgnDTz6Ov60qZkBn8uTfPYk0PUZ3wn+GNFOi3ouSTK4JKEIA==",
-      "path": "microsoft.entityframeworkcore.design/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.design.8.0.2.nupkg.sha512"
+      "sha512": "sha512-OAh9P0M5VK3+mtmnjOyyw92s3L0r3fmYwWWAnh0pb/8JH3u7L2FmrJnNPFysChBiWIJu17+6Bqj4k/bkFK4RVw==",
+      "path": "microsoft.entityframeworkcore.design/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.design.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.InMemory/8.0.2": {
+    "Microsoft.EntityFrameworkCore.InMemory/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-vPpioRk+6BwQf/apqBQQ2gLL/6FMOj25L6d2lli08FmRh2W9QrnShyKhzsDAydWcH6Po69gQXgHbBQFAafmo3A==",
-      "path": "microsoft.entityframeworkcore.inmemory/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.inmemory.8.0.2.nupkg.sha512"
+      "sha512": "sha512-43rqIfq1/CGcIqCvQoZ2F/a2YJc1c2jdPQB6/6VtvYCg2aeXfQi2sEjj/hNiO+RI+Tz+Bq0/oXoejbGMUO7hZA==",
+      "path": "microsoft.entityframeworkcore.inmemory/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.inmemory.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.Relational/8.0.2": {
+    "Microsoft.EntityFrameworkCore.Relational/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-NoGfcq2OPw0z8XAPf74YFwGlTKjedWdsIEJqq4SvKcPjcu+B+/XDDNrDRxTvILfz4Ug8POSF49s1jz1JvUqTAg==",
-      "path": "microsoft.entityframeworkcore.relational/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.relational.8.0.2.nupkg.sha512"
+      "sha512": "sha512-8JnVZHWaNFkrrD/FC0O4jekiHIYey8y6TQ4Co3OzLz0wd5Dm1cwJfTp++1TvaVu0BBd4bVDtiktppa5epuoPrA==",
+      "path": "microsoft.entityframeworkcore.relational/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.relational.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.Sqlite/8.0.2": {
+    "Microsoft.EntityFrameworkCore.Sqlite/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-tnpTylrGLYUKZ+Jw8Y5PmROYhIvqA51EqYRdHgUDCFsVbs3AKsw3SY1reaZk/tBfWHtC7nWR+IN2MwYrdtkgTQ==",
-      "path": "microsoft.entityframeworkcore.sqlite/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.sqlite.8.0.2.nupkg.sha512"
+      "sha512": "sha512-mdHNwlJkV71pKJU1MzIbjHWyjLw03S2kCO6mnuZL6V7uDv5ZxncoT5OELUiv7wRAYxnBucrl7ZPT76hwhBKBFw==",
+      "path": "microsoft.entityframeworkcore.sqlite/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.sqlite.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.Sqlite.Core/8.0.2": {
+    "Microsoft.EntityFrameworkCore.Sqlite.Core/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-cUOohC2oMaHG8rAvF1bvg5U5Hmeio8nTvCJghyPSnnKtWPu6U/Ozw4jcdJn1UjeYe7X0udP8ax/IB6wb9BOLWw==",
-      "path": "microsoft.entityframeworkcore.sqlite.core/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.sqlite.core.8.0.2.nupkg.sha512"
+      "sha512": "sha512-6DvYtnLdpViXgA5F2Z/cIJfWIv31Eby5j2YqUzr+sgJulKtCX+ypvmfooXlYnCwJDlcmIaMY27TMnlrCcUvZmA==",
+      "path": "microsoft.entityframeworkcore.sqlite.core/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.sqlite.core.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.SqlServer/8.0.2": {
+    "Microsoft.EntityFrameworkCore.SqlServer/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-tAS5mYr/mwCXZVC5dyJlzdKHK0MLU0TAxNcc30xi7XLju8DE3S0Y206Yfi/MyuzLjulQRq9n2vjieeCxOnQfkg==",
-      "path": "microsoft.entityframeworkcore.sqlserver/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.sqlserver.8.0.2.nupkg.sha512"
+      "sha512": "sha512-Xpk6BWqSD7bGa/I/QJ5oLVD+RTIj1mhfUo92g4OrhfRb3/HKhURtsfNz3v+xLYADvWsugwYxaPzypMbM9ucWfg==",
+      "path": "microsoft.entityframeworkcore.sqlserver/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.sqlserver.8.0.3.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.Tools/8.0.2": {
+    "Microsoft.EntityFrameworkCore.Tools/8.0.3": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-PWy3X3Z1fnWlbU6pQMSnBvMwqERoKsriJ688TMl1xT2NyqcSk6/dX22eI5eV+qYXYmYna72Dq2u0P8tNZ6AYtg==",
-      "path": "microsoft.entityframeworkcore.tools/8.0.2",
-      "hashPath": "microsoft.entityframeworkcore.tools.8.0.2.nupkg.sha512"
+      "sha512": "sha512-jKczLbj13jY6TvYsXgAYqfhkIow6VdqumCv0m8EvNr3vU1+nJ6LKoG+6pPKnkVOHycXHGy5DEhH0GN0ldmx7Kw==",
+      "path": "microsoft.entityframeworkcore.tools/8.0.3",
+      "hashPath": "microsoft.entityframeworkcore.tools.8.0.3.nupkg.sha512"
     },
     "Microsoft.Extensions.ApiDescription.Server/6.0.5": {
       "type": "package",
@@ -1902,12 +1916,12 @@
       "path": "microsoft.extensions.dependencyinjection/8.0.0",
       "hashPath": "microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512"
     },
-    "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": {
+    "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.1": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==",
-      "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.0",
-      "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512"
+      "sha512": "sha512-fGLiCRLMYd00JYpClraLjJTNKLmMJPnqxMaiRzEBIIvevlzxz33mXy39Lkd48hu1G+N21S7QpaO5ZzKsI6FRuA==",
+      "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.1",
+      "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.1.nupkg.sha512"
     },
     "Microsoft.Extensions.DependencyModel/8.0.0": {
       "type": "package",
@@ -1979,12 +1993,12 @@
       "path": "microsoft.extensions.logging/8.0.0",
       "hashPath": "microsoft.extensions.logging.8.0.0.nupkg.sha512"
     },
-    "Microsoft.Extensions.Logging.Abstractions/8.0.0": {
+    "Microsoft.Extensions.Logging.Abstractions/8.0.1": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==",
-      "path": "microsoft.extensions.logging.abstractions/8.0.0",
-      "hashPath": "microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512"
+      "sha512": "sha512-RIFgaqoaINxkM2KTOw72dmilDmTrYA0ns2KW4lDz4gZ2+o6IQ894CzmdL3StM2oh7QQq44nCWiqKqc4qUI9Jmg==",
+      "path": "microsoft.extensions.logging.abstractions/8.0.1",
+      "hashPath": "microsoft.extensions.logging.abstractions.8.0.1.nupkg.sha512"
     },
     "Microsoft.Extensions.Logging.Debug/8.0.0": {
       "type": "package",
@@ -2021,47 +2035,47 @@
       "path": "microsoft.identity.client.extensions.msal/4.56.0",
       "hashPath": "microsoft.identity.client.extensions.msal.4.56.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Abstractions/6.24.0": {
+    "Microsoft.IdentityModel.Abstractions/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-X6aBK56Ot15qKyG7X37KsPnrwah+Ka55NJWPppWVTDi8xWq7CJgeNw2XyaeHgE1o/mW4THwoabZkBbeG2TPBiw==",
-      "path": "microsoft.identitymodel.abstractions/6.24.0",
-      "hashPath": "microsoft.identitymodel.abstractions.6.24.0.nupkg.sha512"
+      "sha512": "sha512-xuR8E4Rd96M41CnUSCiOJ2DBh+z+zQSmyrYHdYhD6K4fXBcQGVnRCFQ0efROUYpP+p0zC1BLKr0JRpVuujTZSg==",
+      "path": "microsoft.identitymodel.abstractions/6.35.0",
+      "hashPath": "microsoft.identitymodel.abstractions.6.35.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.JsonWebTokens/6.24.0": {
+    "Microsoft.IdentityModel.JsonWebTokens/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-XDWrkThcxfuWp79AvAtg5f+uRS1BxkIbJnsG/e8VPzOWkYYuDg33emLjp5EWcwXYYIDsHnVZD/00kM/PYFQc/g==",
-      "path": "microsoft.identitymodel.jsonwebtokens/6.24.0",
-      "hashPath": "microsoft.identitymodel.jsonwebtokens.6.24.0.nupkg.sha512"
+      "sha512": "sha512-9wxai3hKgZUb4/NjdRKfQd0QJvtXKDlvmGMYACbEC8DFaicMFCFhQFZq9ZET1kJLwZahf2lfY5Gtcpsx8zYzbg==",
+      "path": "microsoft.identitymodel.jsonwebtokens/6.35.0",
+      "hashPath": "microsoft.identitymodel.jsonwebtokens.6.35.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Logging/6.24.0": {
+    "Microsoft.IdentityModel.Logging/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-qLYWDOowM/zghmYKXw1yfYKlHOdS41i8t4hVXr9bSI90zHqhyhQh9GwVy8pENzs5wHeytU23DymluC9NtgYv7w==",
-      "path": "microsoft.identitymodel.logging/6.24.0",
-      "hashPath": "microsoft.identitymodel.logging.6.24.0.nupkg.sha512"
+      "sha512": "sha512-jePrSfGAmqT81JDCNSY+fxVWoGuJKt9e6eJ+vT7+quVS55nWl//jGjUQn4eFtVKt4rt5dXaleZdHRB9J9AJZ7Q==",
+      "path": "microsoft.identitymodel.logging/6.35.0",
+      "hashPath": "microsoft.identitymodel.logging.6.35.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Protocols/6.24.0": {
+    "Microsoft.IdentityModel.Protocols/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-+NzKCkvsQ8X1r/Ff74V7CFr9OsdMRaB6DsV+qpH7NNLdYJ8O4qHbmTnNEsjFcDmk/gVNDwhoL2gN5pkPVq0lwQ==",
-      "path": "microsoft.identitymodel.protocols/6.24.0",
-      "hashPath": "microsoft.identitymodel.protocols.6.24.0.nupkg.sha512"
+      "sha512": "sha512-BPQhlDzdFvv1PzaUxNSk+VEPwezlDEVADIKmyxubw7IiELK18uJ06RQ9QKKkds30XI+gDu9n8j24XQ8w7fjWcg==",
+      "path": "microsoft.identitymodel.protocols/6.35.0",
+      "hashPath": "microsoft.identitymodel.protocols.6.35.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.24.0": {
+    "Microsoft.IdentityModel.Protocols.OpenIdConnect/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-a/2RRrc8C9qaw8qdD9hv1ES9YKFgxaqr/SnwMSLbwQZJSUQDd4qx1K4EYgWaQWs73R+VXLyKSxN0f/uE9CsBiQ==",
-      "path": "microsoft.identitymodel.protocols.openidconnect/6.24.0",
-      "hashPath": "microsoft.identitymodel.protocols.openidconnect.6.24.0.nupkg.sha512"
+      "sha512": "sha512-LMtVqnECCCdSmyFoCOxIE5tXQqkOLrvGrL7OxHg41DIm1bpWtaCdGyVcTAfOQpJXvzND9zUKIN/lhngPkYR8vg==",
+      "path": "microsoft.identitymodel.protocols.openidconnect/6.35.0",
+      "hashPath": "microsoft.identitymodel.protocols.openidconnect.6.35.0.nupkg.sha512"
     },
-    "Microsoft.IdentityModel.Tokens/6.24.0": {
+    "Microsoft.IdentityModel.Tokens/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-ZPqHi86UYuqJXJ7bLnlEctHKkPKT4lGUFbotoCNiXNCSL02emYlcxzGYsRGWWmbFEcYDMi2dcTLLYNzHqWOTsw==",
-      "path": "microsoft.identitymodel.tokens/6.24.0",
-      "hashPath": "microsoft.identitymodel.tokens.6.24.0.nupkg.sha512"
+      "sha512": "sha512-RN7lvp7s3Boucg1NaNAbqDbxtlLj5Qeb+4uSS1TeK5FSBVM40P4DKaTKChT43sHyKfh7V0zkrMph6DdHvyA4bg==",
+      "path": "microsoft.identitymodel.tokens/6.35.0",
+      "hashPath": "microsoft.identitymodel.tokens.6.35.0.nupkg.sha512"
     },
     "Microsoft.NETCore.Platforms/1.1.0": {
       "type": "package",
@@ -2329,12 +2343,12 @@
       "path": "system.formats.asn1/5.0.0",
       "hashPath": "system.formats.asn1.5.0.0.nupkg.sha512"
     },
-    "System.IdentityModel.Tokens.Jwt/6.24.0": {
+    "System.IdentityModel.Tokens.Jwt/6.35.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-Qibsj9MPWq8S/C0FgvmsLfIlHLE7ay0MJIaAmK94ivN3VyDdglqReed5qMvdQhSL0BzK6v0Z1wB/sD88zVu6Jw==",
-      "path": "system.identitymodel.tokens.jwt/6.24.0",
-      "hashPath": "system.identitymodel.tokens.jwt.6.24.0.nupkg.sha512"
+      "sha512": "sha512-yxGIQd3BFK7F6S62/7RdZk3C/mfwyVxvh6ngd1VYMBmbJ1YZZA9+Ku6suylVtso0FjI0wbElpJ0d27CdsyLpBQ==",
+      "path": "system.identitymodel.tokens.jwt/6.35.0",
+      "hashPath": "system.identitymodel.tokens.jwt.6.35.0.nupkg.sha512"
     },
     "System.IO/4.3.0": {
       "type": "package",

BIN
charge64/charge64/Charge64.dll


BIN
charge64/charge64/Charge64.exe


BIN
charge64/charge64/Charge64.pdb


+ 7 - 6
charge64/charge64/Charge64.xml

@@ -19,7 +19,7 @@
             测试微服务
             </summary>
         </member>
-        <member name="M:Charge64.Controllers.ChargeController.Delivery_QQ(System.Collections.Generic.Dictionary{System.String,System.String},System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+        <member name="M:Charge64.Controllers.ChargeController.Delivery_QQ(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Collections.Generic.Dictionary{System.String,System.String})">
             <remarks>https://wikinew.open.qq.com/#/iwiki/940617835</remarks>
             <summary>
             充值回调(发货)
@@ -33,7 +33,7 @@
             <param name="payamt_coins">扣取的游戏币总数,单位为Q点</param>
             <param name="pubacct_payamt_coins">扣取的抵用券总金额,单位为Q点</param>
         </member>
-        <member name="M:Charge64.Controllers.ChargeController.GetDawankaInfo_QQ(System.Collections.Generic.Dictionary{System.String,System.String},System.String,System.Int64,System.String,System.String,System.String,System.Boolean)">
+        <member name="M:Charge64.Controllers.ChargeController.GetDawankaInfo_QQ(System.String,System.Int64,System.String,System.String,System.String,System.Boolean,System.Collections.Generic.Dictionary{System.String,System.String})">
             <summary>
             获取大玩咖信息
             </summary>
@@ -45,7 +45,7 @@
             <param name="openkey">用户的会话密钥(session key)</param>
             <param name="pf">应用的来源平台</param>
         </member>
-        <member name="M:Charge64.Controllers.ChargeController.GetInfo_QQ(System.Collections.Generic.Dictionary{System.String,System.String},System.String,System.Int64,System.String,System.String,System.String,System.Boolean)">
+        <member name="M:Charge64.Controllers.ChargeController.GetInfo_QQ(System.String,System.Int64,System.String,System.String,System.String,System.Boolean,System.Collections.Generic.Dictionary{System.String,System.String})">
             <summary>
             获取QQ玩家信息
             </summary>
@@ -57,7 +57,7 @@
             <param name="openkey">用户的会话密钥(session key)</param>
             <param name="pf">应用的来源平台</param>
         </member>
-        <member name="M:Charge64.Controllers.ChargeController.IsLogin_QQ(System.Collections.Generic.Dictionary{System.String,System.String},System.String,System.String,System.String,System.String,System.Boolean)">
+        <member name="M:Charge64.Controllers.ChargeController.IsLogin_QQ(System.String,System.String,System.String,System.String,System.Boolean,System.Collections.Generic.Dictionary{System.String,System.String})">
             <summary>
             获取QQ玩家是否已登录
             </summary>
@@ -68,7 +68,7 @@
             <param name="openkey">用户的会话密钥(session key)</param>
             <param name="pf">应用的来源平台</param>
         </member>
-        <member name="M:Charge64.Controllers.ChargeController.Order_QQ(System.Collections.Generic.Dictionary{System.String,System.String},System.String,System.Int64,System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.Boolean)">
+        <member name="M:Charge64.Controllers.ChargeController.Order_QQ(System.String,System.Int64,System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.Boolean,System.Collections.Generic.Dictionary{System.String,System.String})">
             <summary>
             下单接口(生成订单。并向平台下单)
             </summary>
@@ -83,7 +83,7 @@
             <param name="pf">应用的来源平台</param>
             <param name="pfkey">SDK平台的信息加密串</param>
         </member>
-        <member name="M:Charge64.Controllers.ChargeController.UicFilter_QQ(System.Collections.Generic.Dictionary{System.String,System.String},System.String,System.String,SdkBase.StringCatalog,System.String,System.String,System.Boolean)">
+        <member name="M:Charge64.Controllers.ChargeController.UicFilter_QQ(System.String,System.String,SdkBase.StringCatalog,System.String,System.String,System.Boolean,System.Collections.Generic.Dictionary{System.String,System.String})">
             <summary>
             过滤玩家输入的敏感词,避免出现不合规信息
             </summary>
@@ -106,6 +106,7 @@
             </summary>
             <param name="ApiVersion">接口版本</param>
             <param name="UserID">UserID</param>
+            <param name="UserPwd">用户输入的密码</param>
         </member>
         <member name="P:Charge64.DTO.Exts360DTO.item_id">
             <summary>

BIN
charge64/charge64/DB.DS64.dll


BIN
charge64/charge64/DB.DS64.pdb


BIN
charge64/charge64/DB.DSUser64.dll


BIN
charge64/charge64/DB.DSUser64.pdb


+ 3 - 3
charge64/charge64/DockerBuild.txt

@@ -17,9 +17,9 @@ cd DockerImg/charge64/
 docker login [email protected] registry.cn-guangzhou.aliyuncs.com
 
 # amd64上
-docker rmi registry.cn-guangzhou.aliyuncs.com/apq/charge64:amd64_20240314
-docker build -t registry.cn-guangzhou.aliyuncs.com/apq/charge64:amd64_20240314 .
-docker push registry.cn-guangzhou.aliyuncs.com/apq/charge64:amd64_20240314
+docker rmi registry.cn-guangzhou.aliyuncs.com/apq/charge64:amd64_20240318
+docker build -t registry.cn-guangzhou.aliyuncs.com/apq/charge64:amd64_20240318 .
+docker push registry.cn-guangzhou.aliyuncs.com/apq/charge64:amd64_20240318
 
 # arm64上
 docker rmi registry.cn-guangzhou.aliyuncs.com/apq/charge64:arm64

BIN
charge64/charge64/Google.Protobuf.dll


BIN
charge64/charge64/Microsoft.AspNetCore.Grpc.JsonTranscoding.dll


BIN
charge64/charge64/Microsoft.AspNetCore.Grpc.Swagger.dll


BIN
charge64/charge64/Microsoft.Data.SqlClient.dll


BIN
charge64/charge64/Microsoft.Data.Sqlite.dll


BIN
charge64/charge64/Microsoft.EntityFrameworkCore.Abstractions.dll


BIN
charge64/charge64/Microsoft.EntityFrameworkCore.InMemory.dll


BIN
charge64/charge64/Microsoft.EntityFrameworkCore.Relational.dll


BIN
charge64/charge64/Microsoft.EntityFrameworkCore.SqlServer.dll


BIN
charge64/charge64/Microsoft.EntityFrameworkCore.Sqlite.dll


BIN
charge64/charge64/Microsoft.EntityFrameworkCore.dll


BIN
charge64/charge64/Microsoft.Extensions.DependencyInjection.Abstractions.dll


BIN
charge64/charge64/Microsoft.Extensions.Logging.Abstractions.dll


BIN
charge64/charge64/Microsoft.IdentityModel.Abstractions.dll


BIN
charge64/charge64/Microsoft.IdentityModel.JsonWebTokens.dll


BIN
charge64/charge64/Microsoft.IdentityModel.Logging.dll


BIN
charge64/charge64/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll


BIN
charge64/charge64/Microsoft.IdentityModel.Protocols.dll


BIN
charge64/charge64/Microsoft.IdentityModel.Tokens.dll


BIN
charge64/charge64/OpenQQ.dll


BIN
charge64/charge64/OpenQQ.pdb


BIN
charge64/charge64/Pb.dll


BIN
charge64/charge64/Pb.pdb


BIN
charge64/charge64/System.IdentityModel.Tokens.Jwt.dll


BIN
charge64/charge64/log4net.dll


BIN
charge64/charge64/runtimes/unix/lib/net6.0/Microsoft.Data.SqlClient.dll


BIN
charge64/charge64/runtimes/win/lib/net6.0/Microsoft.Data.SqlClient.dll