From ea682b90ffcde719241b9aad4d836a1e31eba477 Mon Sep 17 00:00:00 2001 From: milimoe Date: Fri, 14 Jul 2023 21:12:14 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=BB=93=E6=9E=84=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Api/Transmittal/DataRequest.cs | 16 +++++++++++++--- Api/Transmittal/MailSender.cs | 2 +- Api/Transmittal/SQLHelper.cs | 2 +- Api/Utility/General.cs | 2 +- .../SocketHandlerController.cs | 4 ++-- Interface/Base/ISQLHelper.cs | 2 +- Library/Common/Architecture/AsyncAwaiter.cs | 6 ++++-- .../Architecture => Model}/SQLServerInfo.cs | 2 +- .../Architecture => Model}/SmtpClientInfo.cs | 2 +- .../SocketHandlerModel.cs | 13 +++++++------ Service/MailManager.cs | 2 +- 11 files changed, 33 insertions(+), 20 deletions(-) rename Library/Common/Architecture/BaseSocketHandlerController.cs => Controller/SocketHandlerController.cs (64%) rename {Library/Common/Architecture => Model}/SQLServerInfo.cs (96%) rename {Library/Common/Architecture => Model}/SmtpClientInfo.cs (94%) rename Library/Common/Architecture/BaseSocketHandlerModel.cs => Model/SocketHandlerModel.cs (87%) diff --git a/Api/Transmittal/DataRequest.cs b/Api/Transmittal/DataRequest.cs index 57024d3..5fb7a38 100644 --- a/Api/Transmittal/DataRequest.cs +++ b/Api/Transmittal/DataRequest.cs @@ -1,8 +1,8 @@ using System.Collections; -using Milimoe.FunGame.Core.Library.Common.Architecture; using Milimoe.FunGame.Core.Library.Common.Network; using Milimoe.FunGame.Core.Library.Constant; using Milimoe.FunGame.Core.Library.Exception; +using Milimoe.FunGame.Core.Model; namespace Milimoe.FunGame.Core.Api.Transmittal { @@ -78,6 +78,16 @@ namespace Milimoe.FunGame.Core.Api.Transmittal Worker.SendRequest(); return Result; } + + /// + /// 异步向服务器发送数据请求 + /// + /// + public async Task SendRequestAsync() + { + await Worker.SendRequestAsync(); + return Result; + } /// /// 获取指定key对应的反序列化对象 @@ -90,7 +100,7 @@ namespace Milimoe.FunGame.Core.Api.Transmittal return GetHashtableJsonObject(Worker.ResultData, key); } - private class Request : BaseSocketHandlerModel + private class Request : SocketHandlerModel { public Hashtable RequestData { get; } = new(); public Hashtable ResultData => _ResultData; @@ -204,7 +214,7 @@ namespace Milimoe.FunGame.Core.Api.Transmittal /// public static T? GetHashtableJsonObject(Hashtable hashtable, string key) { - return Utility.NetworkUtility.JsonDeserializeFromHashtable(hashtable, key); + return Service.JsonManager.GetObject(hashtable, key); } } } diff --git a/Api/Transmittal/MailSender.cs b/Api/Transmittal/MailSender.cs index 5b6b830..0cdd70b 100644 --- a/Api/Transmittal/MailSender.cs +++ b/Api/Transmittal/MailSender.cs @@ -1,7 +1,7 @@ using System.Net.Mail; -using Milimoe.FunGame.Core.Library.Common.Architecture; using Milimoe.FunGame.Core.Library.Common.Network; using Milimoe.FunGame.Core.Library.Constant; +using Milimoe.FunGame.Core.Model; using Milimoe.FunGame.Core.Service; namespace Milimoe.FunGame.Core.Api.Transmittal diff --git a/Api/Transmittal/SQLHelper.cs b/Api/Transmittal/SQLHelper.cs index 963c221..e7e8781 100644 --- a/Api/Transmittal/SQLHelper.cs +++ b/Api/Transmittal/SQLHelper.cs @@ -1,7 +1,7 @@ using System.Data; using Milimoe.FunGame.Core.Interface.Base; -using Milimoe.FunGame.Core.Library.Common.Architecture; using Milimoe.FunGame.Core.Library.Constant; +using Milimoe.FunGame.Core.Model; namespace Milimoe.FunGame.Core.Api.Transmittal { diff --git a/Api/Utility/General.cs b/Api/Utility/General.cs index c7e7adc..5beeb1c 100644 --- a/Api/Utility/General.cs +++ b/Api/Utility/General.cs @@ -147,7 +147,7 @@ namespace Milimoe.FunGame.Core.Api.Utility /// public static T? JsonDeserializeFromHashtable(Hashtable hashtable, string key) { - return Service.JsonManager.GetObject(hashtable, key); + return Transmittal.DataRequest.GetHashtableJsonObject(hashtable, key); } } diff --git a/Library/Common/Architecture/BaseSocketHandlerController.cs b/Controller/SocketHandlerController.cs similarity index 64% rename from Library/Common/Architecture/BaseSocketHandlerController.cs rename to Controller/SocketHandlerController.cs index e1247a0..fb2c8aa 100644 --- a/Library/Common/Architecture/BaseSocketHandlerController.cs +++ b/Controller/SocketHandlerController.cs @@ -1,6 +1,6 @@ -namespace Milimoe.FunGame.Core.Library.Common.Architecture +namespace Milimoe.FunGame.Core.Controller { - public abstract class BaseSocketHandlerController + public abstract class SocketHandlerController { /// /// 重写此方法并调用Model的Dispose方法,否则将无法正常将监听Socket的事件移除! diff --git a/Interface/Base/ISQLHelper.cs b/Interface/Base/ISQLHelper.cs index 1703d1b..81d339c 100644 --- a/Interface/Base/ISQLHelper.cs +++ b/Interface/Base/ISQLHelper.cs @@ -1,6 +1,6 @@ using System.Data; -using Milimoe.FunGame.Core.Library.Common.Architecture; using Milimoe.FunGame.Core.Library.Constant; +using Milimoe.FunGame.Core.Model; namespace Milimoe.FunGame.Core.Interface.Base { diff --git a/Library/Common/Architecture/AsyncAwaiter.cs b/Library/Common/Architecture/AsyncAwaiter.cs index 4859829..152d125 100644 --- a/Library/Common/Architecture/AsyncAwaiter.cs +++ b/Library/Common/Architecture/AsyncAwaiter.cs @@ -1,8 +1,10 @@ -namespace Milimoe.FunGame.Core.Library.Common.Architecture +using Milimoe.FunGame.Core.Model; + +namespace Milimoe.FunGame.Core.Library.Common.Architecture { /// /// 继承这个类可以获得异步等待的功能 - /// 参考实现 + /// 参考实现 /// public abstract class AsyncAwaiter { diff --git a/Library/Common/Architecture/SQLServerInfo.cs b/Model/SQLServerInfo.cs similarity index 96% rename from Library/Common/Architecture/SQLServerInfo.cs rename to Model/SQLServerInfo.cs index 87a430b..44a967b 100644 --- a/Library/Common/Architecture/SQLServerInfo.cs +++ b/Model/SQLServerInfo.cs @@ -1,4 +1,4 @@ -namespace Milimoe.FunGame.Core.Library.Common.Architecture +namespace Milimoe.FunGame.Core.Model { public class SQLServerInfo { diff --git a/Library/Common/Architecture/SmtpClientInfo.cs b/Model/SmtpClientInfo.cs similarity index 94% rename from Library/Common/Architecture/SmtpClientInfo.cs rename to Model/SmtpClientInfo.cs index 5f00536..e10de85 100644 --- a/Library/Common/Architecture/SmtpClientInfo.cs +++ b/Model/SmtpClientInfo.cs @@ -1,6 +1,6 @@ using Milimoe.FunGame.Core.Interface.Base; -namespace Milimoe.FunGame.Core.Library.Common.Architecture +namespace Milimoe.FunGame.Core.Model { public class SmtpClientInfo : IMailSender { diff --git a/Library/Common/Architecture/BaseSocketHandlerModel.cs b/Model/SocketHandlerModel.cs similarity index 87% rename from Library/Common/Architecture/BaseSocketHandlerModel.cs rename to Model/SocketHandlerModel.cs index da746e2..b4e291a 100644 --- a/Library/Common/Architecture/BaseSocketHandlerModel.cs +++ b/Model/SocketHandlerModel.cs @@ -1,16 +1,17 @@ using Milimoe.FunGame.Core.Interface.Base; +using Milimoe.FunGame.Core.Library.Common.Architecture; using Milimoe.FunGame.Core.Library.Common.Network; using Milimoe.FunGame.Core.Service; -namespace Milimoe.FunGame.Core.Library.Common.Architecture +namespace Milimoe.FunGame.Core.Model { /// - /// 继承 AsyncWorker 用法: + /// 继承 AsyncAwaiter 用法: /// 1、调用Socket.Send()前,请设置为等待状态:SetWorking(); /// 2、调用Socket.Send() == Success后,请等待任务完成:WaitForWorkDone(); /// 3、在其他任何地方修改Working状态,均会使任务终止。 /// - public class BaseSocketHandlerModel : AsyncAwaiter, ISocketHandler, IDisposable + public class SocketHandlerModel : AsyncAwaiter, ISocketHandler, IDisposable { /// /// 接收到的SocketObject实例 @@ -26,7 +27,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Architecture /// 继承请调用base构造 /// /// Socket - public BaseSocketHandlerModel(Socket? socket) + public SocketHandlerModel(Socket? socket) { if (socket != null) { @@ -35,14 +36,14 @@ namespace Milimoe.FunGame.Core.Library.Common.Architecture } else throw new SocketCreateReceivingException(); } - + /// /// 继承请重写此方法 /// /// SocketObject public virtual void SocketHandler(SocketObject SocketObject) { - + } /// diff --git a/Service/MailManager.cs b/Service/MailManager.cs index 89e542b..cbac279 100644 --- a/Service/MailManager.cs +++ b/Service/MailManager.cs @@ -1,10 +1,10 @@ using System.Net; using System.Net.Mail; using Milimoe.FunGame.Core.Api.Transmittal; -using Milimoe.FunGame.Core.Library.Common.Architecture; using Milimoe.FunGame.Core.Library.Common.Network; using Milimoe.FunGame.Core.Library.Constant; using Milimoe.FunGame.Core.Library.Exception; +using Milimoe.FunGame.Core.Model; namespace Milimoe.FunGame.Core.Service {