XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEExtension.NetCore.ServerInteractive

[DLL] Server interaction extension, including user identity verification and querying in conjunction with AutoConfig

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFEExtension.NetCore.ServerInteractive

新增对象自动序列化为 JSON 的发送与关闭功能

IXFEServerCoreServiceBase 接口及基类新增 Send(object) 和 Close(object) 异步方法,底层通过 ServerCoreReturnArgs 实现对象序列化与发送。项目版本号升级至 1.1.9,部分文件调整 using 语句。

0afb63a
XFE工作室室长 <mail@xfegzs.com>
提交于

代码差异

5 个文件 +37 -7
Modified XFEExtension.NetCore.ServerInteractive/Implements/CoreService/XFEServerCoreServiceBase.cs +6 -0
@@ -50,4 +50,10 @@ public abstract class XFEServerCoreServiceBase : IXFEServerCoreServiceBase
50 50
51 51 /// <inheritdoc/>
52 52 public ServerCoreReturnArgs Error(string message, HttpStatusCode code = HttpStatusCode.BadRequest, bool handled = false) => ReturnArgs!.Error(message, code, handled);
53
54 /// <inheritdoc/>
55 public async Task Send(object data) => await ReturnArgs.Send(data);
56
57 /// <inheritdoc/>
58 public async Task Close(object data) => await ReturnArgs.Close(data);
53 59 }
Modified XFEExtension.NetCore.ServerInteractive/Interfaces/CoreService/IXFEServerCoreServiceBase.cs +12 -0
@@ -62,6 +62,12 @@ public interface IXFEServerCoreServiceBase
62 62 /// <returns>A task that represents the asynchronous send operation.</returns>
63 63 Task Send(Stream stream);
64 64
65 /// <summary>
66 /// Sends an object as JSON asynchronously.
67 /// </summary>
68 /// <param name="data">The object to serialize to JSON and send.</param>
69 Task Send(object data);
70
65 71 /// <summary>
66 72 /// 关闭并返回 OK
67 73 /// </summary>
@@ -99,4 +105,10 @@ public interface IXFEServerCoreServiceBase
99 105 /// <param name="code"></param>
100 106 /// <param name="handled"></param>
101 107 ServerCoreReturnArgs Error(string message, HttpStatusCode code = HttpStatusCode.BadRequest, bool handled = false);
108
109 /// <summary>
110 /// Sends the specified object serialized as JSON and closes the connection.
111 /// </summary>
112 /// <param name="data">The object to serialize to JSON and send.</param>
113 Task Close(object data);
102 114 }
Modified XFEExtension.NetCore.ServerInteractive/Models/ServerModels/ServerCoreReturnArgs.cs +14 -0
@@ -1,4 +1,5 @@
1 1 using System.Net;
2 using System.Text.Json;
2 3 using XFEExtension.NetCore.CyberComm;
3 4
4 5 namespace XFEExtension.NetCore.ServerInteractive.Models.ServerModels;
@@ -56,6 +57,13 @@ public class ServerCoreReturnArgs : Exception
56 57 await Args.ReplyBinaryMessage(memoryStream.ToArray());
57 58 }
58 59
60 /// <summary>
61 /// Sends an object serialized as JSON asynchronously using the current context.
62 /// </summary>
63 /// <param name="data">The object to serialize and send.</param>
64 /// <returns>A task that represents the asynchronous send operation.</returns>
65 public async Task Send(object data) => await Send(JsonSerializer.Serialize(data));
66
59 67 /// <summary>
60 68 /// 正常结束与客户端的通讯
61 69 /// </summary>
@@ -87,6 +95,12 @@ public class ServerCoreReturnArgs : Exception
87 95 OK();
88 96 }
89 97
98 /// <summary>
99 /// 结束与客户端的通讯(对象将自动序列化为 JSON)
100 /// </summary>
101 /// <param name="data"></param>
102 public async Task Close(object data) => await Close(JsonSerializer.Serialize(data));
103
90 104 /// <summary>
91 105 /// 以异常结束与客户端的通讯
92 106 /// </summary>
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/CoreService/UserLoginService.cs +1 -2
@@ -1,5 +1,4 @@
1 using System.Net;
2 using System.Text.Json;
1 using System.Text.Json;
3 2 using XFEExtension.NetCore.ServerInteractive.Models.UserModels;
4 3 using XFEExtension.NetCore.ServerInteractive.Utilities.Helpers;
5 4 using XFEExtension.NetCore.StringExtension;
Modified XFEExtension.NetCore.ServerInteractive/XFEExtension.NetCore.ServerInteractive.csproj +4 -5
@@ -5,7 +5,7 @@
5 5 <ImplicitUsings>enable</ImplicitUsings>
6 6 <Nullable>enable</Nullable>
7 7 <GenerateDocumentationFile>True</GenerateDocumentationFile>
8 <Version>1.1.8</Version>
8 <Version>1.1.9</Version>
9 9 <Title>XFEExtension.NetCore.ServerInteractive</Title>
10 10 <RepositoryUrl>https://github.com/XFEstudio/XFEExtension.NetCore.ServerInteractive</RepositoryUrl>
11 11 <AnalysisLevel>latest</AnalysisLevel>
@@ -21,11 +21,10 @@
21 21 <PackageReleaseNotes>
22 22 ## 调整
23 23
24 优化异常处理与客户端IP传递方式
24 新增对象自动序列化为 JSON 的发送与关闭功能
25 25
26 本次更新统一了异常处理参数结构,将 CyberCommRequestEventArgs 替换为 ServerCoreReturnArgs,并在 ReturnArgs 中新增 ClientIP 属性。
27 XFEServerCoreServiceBase 的 ClientIP 属性改为通过 ReturnArgs 读写,确保客户端IP在异常场景下正确传递。异常处理服务和核心服务均调整为使用 ReturnArgs,提升了代码一致性和维护性。
28 版本号升级至 1.1.8。
26 IXFEServerCoreServiceBase 接口及基类新增 Send(object) 和 Close(object) 异步方法,底层通过 ServerCoreReturnArgs 实现对象序列化与发送。
27 项目版本号升级至 1.1.9,部分文件调整 using 语句。
29 28
30 29 ## 新增
31 30