XFEExtension.NetCore.ServerInteractive
[DLL] Server interaction extension, including user identity verification and querying in conjunction with AutoConfig
关注
0
Fork
0
Star
0
返回提交历史
Added
.idea/.idea.XFEExtension.NetCore.ServerInteractive/.idea/.gitignore
+15
-0
Added
.idea/.idea.XFEExtension.NetCore.ServerInteractive/.idea/encodings.xml
+4
-0
Added
.idea/.idea.XFEExtension.NetCore.ServerInteractive/.idea/indexLayout.xml
+8
-0
Added
.idea/.idea.XFEExtension.NetCore.ServerInteractive/.idea/vcs.xml
+6
-0
Modified
XFEExtension.NetCore.ServerInteractive.Test/Program.cs
+27
-12
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Requester/XFEClientRequester.cs
+3
-3
XFEstudio/XFEExtension.NetCore.ServerInteractive
完善适配ClientRequester
ce61e16
代码差异
6 个文件
+63
-15
@@ -0,0 +1,15 @@
1
# 默认忽略的文件
2
/shelf/
3
/workspace.xml
4
# Rider 忽略的文件
5
/contentModel.xml
6
/projectSettingsUpdater.xml
7
/.idea.XFEExtension.NetCore.ServerInteractive.iml
8
/modules.xml
9
# 基于编辑器的 HTTP 客户端请求
10
/httpRequests/
11
# 已忽略包含查询文件的默认文件夹
12
/queries/
13
# Datasource local storage ignored files
14
/dataSources/
15
/dataSources.local.xml
@@ -0,0 +1,4 @@
1
<?xml version="1.0" encoding="UTF-8"?>
2
<project version="4">
3
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
4
</project>
@@ -0,0 +1,8 @@
1
<?xml version="1.0" encoding="UTF-8"?>
2
<project version="4">
3
<component name="UserContentModel">
4
<attachedFolders />
5
<explicitIncludes />
6
<explicitExcludes />
7
</component>
8
</project>
@@ -0,0 +1,6 @@
1
<?xml version="1.0" encoding="UTF-8"?>
2
<project version="4">
3
<component name="VcsDirectoryMappings">
4
<mapping directory="$PROJECT_DIR$" vcs="Git" />
5
</component>
6
</project>
@@ -10,7 +10,7 @@ namespace XFEExtension.NetCore.ServerInteractive.Test;
10
10
11
11
internal class Program
12
12
{
13
private static readonly XFEClientRequester XFEClientRequester = XFEClientRequesterBuilder.CreateBuilder()
13
private static readonly XFEClientRequester s_xFEClientRequester = XFEClientRequesterBuilder.CreateBuilder()
14
14
.UseXFEStandardRequest<UserFaceInfo>()
15
15
.AddRequest("test", (_, _, _) => new
16
16
{
@@ -18,22 +18,22 @@ internal class Program
18
18
}, response => response)
19
19
.Build(options =>
20
20
{
21
options.RequestAddress = "http://localhost:3300/management";
21
options.RequestAddress = "http://localhost:3305/api";
22
22
});
23
23
24
24
private static readonly TableRequester TableRequester = new();
25
25
26
static Program() => XFEClientRequester.MessageReceived += XFEClientRequester_MessageReceived;
26
static Program() => s_xFEClientRequester.MessageReceived += XFEClientRequester_MessageReceived;
27
27
28
28
private static void XFEClientRequester_MessageReceived(object? sender, ServerInteractiveEventArgs e)
29
29
{
30
30
Console.WriteLine($"请求完成:{e.StatusCode}\t{e.Message}");
31
31
}
32
32
33
[SMTest("Admin", "123456")]
33
//[SMTest("Admin", "123456")]
34
34
public static async Task Login(string account, string password)
35
35
{
36
var result = await XFEClientRequester.Request<UserLoginResult<UserFaceInfo>>("login", account, password);
36
var result = await s_xFEClientRequester.Request<UserLoginResult<UserFaceInfo>>("login", account, password);
37
37
if (result.StatusCode == System.Net.HttpStatusCode.OK)
38
38
{
39
39
Console.WriteLine(result.Result.Session);
@@ -41,9 +41,9 @@ internal class Program
41
41
Console.WriteLine(result.Result.UserInfo.Id);
42
42
Console.WriteLine(result.Result.UserInfo.NickName);
43
43
Console.WriteLine(result.Result.UserInfo.PermissionLevel);
44
TableRequester.RequestAddress = XFEClientRequester.RequestAddress;
44
TableRequester.RequestAddress = s_xFEClientRequester.RequestAddress;
45
45
TableRequester.Session = result.Result.Session;
46
TableRequester.DeviceInfo = XFEClientRequester.DeviceInfo;
46
TableRequester.DeviceInfo = s_xFEClientRequester.DeviceInfo;
47
47
}
48
48
else
49
49
{
@@ -53,11 +53,11 @@ internal class Program
53
53
}
54
54
55
55
//[SMTest]
56
public static async Task Test()
56
public static async Task TestBench()
57
57
{
58
58
await Parallel.ForEachAsync(Enumerable.Range(0, 100000), async (_, _) =>
59
59
{
60
var result = await XFEClientRequester.Request<string>("test");
60
var result = await s_xFEClientRequester.Request<string>("test");
61
61
if (result.StatusCode == System.Net.HttpStatusCode.OK)
62
62
{
63
63
Console.WriteLine(result.Result);
@@ -70,10 +70,25 @@ internal class Program
70
70
});
71
71
}
72
72
73
[SMTest]
74
public static async Task Test()
75
{
76
var result = await s_xFEClientRequester.Request<string>("test");
77
if (result.StatusCode == System.Net.HttpStatusCode.OK)
78
{
79
Console.WriteLine(result.Result);
80
}
81
else
82
{
83
Console.WriteLine(result.StatusCode);
84
Console.WriteLine(result.Message);
85
}
86
}
87
73
88
//[SMTest]
74
89
public static async Task ReLogin()
75
90
{
76
var result = await XFEClientRequester.Request<UserFaceInfo>("relogin");
91
var result = await s_xFEClientRequester.Request<UserFaceInfo>("relogin");
77
92
if (result.StatusCode == System.Net.HttpStatusCode.OK)
78
93
{
79
94
Console.WriteLine(result.Result.Id);
@@ -92,7 +107,7 @@ internal class Program
92
107
{
93
108
try
94
109
{
95
var result = await XFEClientRequester.Request<DateTime>("check_connect");
110
var result = await s_xFEClientRequester.Request<DateTime>("check_connect");
96
111
if (result.StatusCode == System.Net.HttpStatusCode.OK)
97
112
{
98
113
Console.WriteLine(result.Result);
@@ -112,7 +127,7 @@ internal class Program
112
127
//[SMTest]
113
128
public static async Task GetLog()
114
129
{
115
var result = await XFEClientRequester.Request<string>("get_log", DateTime.MinValue, DateTime.MaxValue);
130
var result = await s_xFEClientRequester.Request<string>("get_log", DateTime.MinValue, DateTime.MaxValue);
116
131
if (result.StatusCode == System.Net.HttpStatusCode.OK)
117
132
{
118
133
Console.WriteLine(result.Result);
@@ -74,7 +74,7 @@ public abstract class XFEClientRequester : IRequesterBase
74
74
xFEService.Route = serviceName;
75
75
xFEService.DeviceInfo = DeviceInfo;
76
76
xFEService.Parameters = parameters;
77
var (response, code) = await InteractiveHelper.GetServerResponse(RequestAddress, xFEService.PostRequest(), _jsonSerializerOptions);
77
var (response, code) = await InteractiveHelper.GetServerResponse(RequestAddress + $"/{serviceName}", xFEService.PostRequest(), _jsonSerializerOptions);
78
78
result.StatusCode = code;
79
79
if (code == HttpStatusCode.OK)
80
80
{
@@ -93,7 +93,7 @@ public abstract class XFEClientRequester : IRequesterBase
93
93
}
94
94
else if (StandardClientInstanceRequestDictionary.TryGetValue(serviceName, out var instance))
95
95
{
96
var (response, code) = await InteractiveHelper.GetServerResponse(RequestAddress, instance.ConstructBody(Session, DeviceInfo, parameters), _jsonSerializerOptions);
96
var (response, code) = await InteractiveHelper.GetServerResponse(RequestAddress + $"/{serviceName}", instance.ConstructBody(Session, DeviceInfo, parameters), _jsonSerializerOptions);
97
97
result.StatusCode = code;
98
98
if (code == HttpStatusCode.OK)
99
99
{
@@ -114,7 +114,7 @@ public abstract class XFEClientRequester : IRequesterBase
114
114
instance.Route = serviceName;
115
115
instance.DeviceInfo = DeviceInfo;
116
116
instance.Parameters = parameters;
117
var (response, code) = await InteractiveHelper.GetServerResponse(RequestAddress, instance.PostRequest(), _jsonSerializerOptions);
117
var (response, code) = await InteractiveHelper.GetServerResponse(RequestAddress + $"/{serviceName}", instance.PostRequest(), _jsonSerializerOptions);
118
118
result.StatusCode = code;
119
119
if (code == HttpStatusCode.OK)
120
120
{