XFEExtension.NetCore.ServerInteractive
[DLL] Server interaction extension, including user identity verification and querying in conjunction with AutoConfig
关注
0
Fork
0
Star
0
返回提交历史
Modified
XFEExtension.NetCore.ServerInteractive/Implements/CoreService/XFEServerCoreServiceBase.cs
+6
-0
Modified
XFEExtension.NetCore.ServerInteractive/Interfaces/CoreService/IXFEServerCoreServiceBase.cs
+12
-0
Modified
XFEExtension.NetCore.ServerInteractive/Models/ServerModels/ServerCoreReturnArgs.cs
+14
-0
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/CoreService/UserLoginService.cs
+1
-2
Modified
XFEExtension.NetCore.ServerInteractive/XFEExtension.NetCore.ServerInteractive.csproj
+4
-5
XFEstudio/XFEExtension.NetCore.ServerInteractive
新增对象自动序列化为 JSON 的发送与关闭功能
IXFEServerCoreServiceBase 接口及基类新增 Send(object) 和 Close(object) 异步方法,底层通过 ServerCoreReturnArgs 实现对象序列化与发送。项目版本号升级至 1.1.9,部分文件调整 using 语句。
0afb63a
代码差异
5 个文件
+37
-7
@@ -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
}
@@ -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
}
@@ -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>
@@ -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;
@@ -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