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

优化对象调用

7f51b13
XFE工作室室长 <mail@xfegzs.com>
提交于

代码差异

2 个文件 +48 -30
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Server/XFEServerCore.cs +10 -10
@@ -112,7 +112,7 @@ public abstract class XFEServerCore : ServerCoreServiceBase
112 112 if (!execute.IsNullOrEmpty())
113 113 {
114 114 //Console.WriteLine($"【{e.ClientIP}】请求方法:{execute}");
115 Console.Write($"【{e.ClientIP}】请求方法:{execute}:");
115 Console.Write($"【{e.ClientIP}】请求方法-{execute}:");
116 116 var stopWatch = Stopwatch.StartNew();
117 117 if (standardCoreServiceDictionary.TryGetValue(execute, out var serviceFactory))
118 118 {
@@ -133,12 +133,12 @@ public abstract class XFEServerCore : ServerCoreServiceBase
133 133 StatusCode = r.StatusCode,
134 134 Handled = r.Handled,
135 135 CyberCommRequestEventArgs = e,
136 ServerException = new XFEServerCoreRequestInnerException($"请求异常:{execute}", ex)
136 ServerException = new XFEServerCoreRequestInnerException($"请求异常-{execute}", ex)
137 137 });
138 138 }
139 139 //Console.WriteLine($"【{e.ClientIP}】请求处理完成:{execute}");
140 140 stopWatch.Stop();
141 Console.WriteLine($"\t{execute} 请求处理完成![{InteractiveHelper.GetStopWatchTime(stopWatch)}]");
141 Console.WriteLine($"\t成功![{InteractiveHelper.GetStopWatchTime(stopWatch)}]");
142 142 return;
143 143 }
144 144 else if (standardCoreAsyncServiceDictionary.TryGetValue(execute, out var serviceAsyncFactory))
@@ -159,11 +159,11 @@ public abstract class XFEServerCore : ServerCoreServiceBase
159 159 StatusCode = r.StatusCode,
160 160 Handled = r.Handled,
161 161 CyberCommRequestEventArgs = e,
162 ServerException = new XFEServerCoreRequestInnerException($"请求异常:{execute}", ex)
162 ServerException = new XFEServerCoreRequestInnerException($"请求异常-{execute}", ex)
163 163 });
164 164 }
165 165 stopWatch.Stop();
166 Console.WriteLine($"\t{execute} 请求处理完成![{InteractiveHelper.GetStopWatchTime(stopWatch)}]");
166 Console.WriteLine($"\t成功!请求处理完成![{InteractiveHelper.GetStopWatchTime(stopWatch)}]");
167 167 return;
168 168 }
169 169 foreach (var key in standardMultiCoreServiceDictionary.Keys)
@@ -187,11 +187,11 @@ public abstract class XFEServerCore : ServerCoreServiceBase
187 187 StatusCode = r.StatusCode,
188 188 Handled = r.Handled,
189 189 CyberCommRequestEventArgs = e,
190 ServerException = new XFEServerCoreRequestInnerException($"请求异常:{execute}", ex)
190 ServerException = new XFEServerCoreRequestInnerException($"请求异常-{execute}", ex)
191 191 });
192 192 }
193 193 stopWatch.Stop();
194 Console.WriteLine($"\t{execute} 请求处理完成![{InteractiveHelper.GetStopWatchTime(stopWatch)}]");
194 Console.WriteLine($"\t成功![{InteractiveHelper.GetStopWatchTime(stopWatch)}]");
195 195 return;
196 196 }
197 197 }
@@ -216,11 +216,11 @@ public abstract class XFEServerCore : ServerCoreServiceBase
216 216 StatusCode = r.StatusCode,
217 217 Handled = r.Handled,
218 218 CyberCommRequestEventArgs = e,
219 ServerException = new XFEServerCoreRequestInnerException($"请求异常:{execute}", ex)
219 ServerException = new XFEServerCoreRequestInnerException($"请求异常-{execute}", ex)
220 220 });
221 221 }
222 222 stopWatch.Stop();
223 Console.WriteLine($"\t{execute} 请求处理完成![{InteractiveHelper.GetStopWatchTime(stopWatch)}]");
223 Console.WriteLine($"\t成功!请求处理完成![{InteractiveHelper.GetStopWatchTime(stopWatch)}]");
224 224 return;
225 225 }
226 226 }
@@ -228,7 +228,7 @@ public abstract class XFEServerCore : ServerCoreServiceBase
228 228 {
229 229 StatusCode = HttpStatusCode.BadRequest,
230 230 CyberCommRequestEventArgs = e,
231 ServerException = new ExecutionUnregisteredException($"请求的方法未注册:{execute}")
231 ServerException = new ExecutionUnregisteredException($"请求的方法未注册-{execute}")
232 232 });
233 233 }
234 234 }
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Server/XFEServerCoreBuilder.cs +38 -20
@@ -91,25 +91,19 @@ public abstract class XFEServerCoreBuilder : XFEBuilderBase<XFEServerCoreBuilder
91 91 /// <summary>
92 92 /// 注册标准服务
93 93 /// </summary>
94 /// <typeparam name="T">服务泛型</typeparam>
94 95 /// <param name="execute">注册执行语句</param>
95 /// <param name="serverCoreStandardRegisterService">标准服务对象</param>
96 96 /// <returns>XFE服务器核心构建器</returns>
97 public XFEServerCoreBuilder RegisterStandardService(string execute, IServerCoreStandardRegisterService serverCoreStandardRegisterService)
97 public XFEServerCoreBuilder RegisterStandardService<T>(string execute) where T : IServerCoreStandardRegisterService, new()
98 98 {
99 ApplyParameter(serverCoreStandardRegisterService);
100 // store as factory returning the provided instance (singleton behavior)
101 serverStandardCoreServiceDictionary.Add(execute, () => serverCoreStandardRegisterService);
99 serverStandardCoreServiceDictionary.Add(execute, () =>
100 {
101 ApplyParameter(new T());
102 return new T();
103 });
102 104 return this;
103 105 }
104 106
105 /// <summary>
106 /// 注册标准服务
107 /// </summary>
108 /// <typeparam name="T">服务泛型</typeparam>
109 /// <param name="execute">注册执行语句</param>
110 /// <returns>XFE服务器核心构建器</returns>
111 public XFEServerCoreBuilder RegisterStandardService<T>(string execute) where T : IServerCoreStandardRegisterService, new() => RegisterStandardService(execute, new T());
112
113 107 /// <summary>
114 108 /// 注册标准服务
115 109 /// </summary>
@@ -118,8 +112,13 @@ public abstract class XFEServerCoreBuilder : XFEBuilderBase<XFEServerCoreBuilder
118 112 /// <returns>XFE服务器核心构建器</returns>
119 113 public XFEServerCoreBuilder RegisterStandardAsyncService(string execute, IServerCoreStandardRegisterAsyncService serverCoreStandardAsyncRegisterService)
120 114 {
121 ApplyParameter(serverCoreStandardAsyncRegisterService);
122 serverStandardCoreAsyncServiceDictionary.Add(execute, () => serverCoreStandardAsyncRegisterService);
115 var type = serverCoreStandardAsyncRegisterService.GetType();
116 serverStandardCoreAsyncServiceDictionary.Add(execute, () =>
117 {
118 var inst = (IServerCoreStandardRegisterAsyncService)Activator.CreateInstance(type)!;
119 ApplyParameter(inst);
120 return inst;
121 });
123 122 return this;
124 123 }
125 124
@@ -129,7 +128,16 @@ public abstract class XFEServerCoreBuilder : XFEBuilderBase<XFEServerCoreBuilder
129 128 /// <typeparam name="T">服务泛型</typeparam>
130 129 /// <param name="execute">注册执行语句</param>
131 130 /// <returns>XFE服务器核心构建器</returns>
132 public XFEServerCoreBuilder RegisterStandardAsyncService<T>(string execute) where T : IServerCoreStandardRegisterAsyncService, new() => RegisterStandardAsyncService(execute, new T());
131 public XFEServerCoreBuilder RegisterStandardAsyncService<T>(string execute) where T : IServerCoreStandardRegisterAsyncService, new()
132 {
133 serverStandardCoreAsyncServiceDictionary.Add(execute, () =>
134 {
135 var inst = new T();
136 ApplyParameter(inst);
137 return inst;
138 });
139 return this;
140 }
133 141
134 142 /// <summary>
135 143 /// 注册多个执行语句的标准服务
@@ -139,8 +147,13 @@ public abstract class XFEServerCoreBuilder : XFEBuilderBase<XFEServerCoreBuilder
139 147 /// <returns>XFE服务器核心构建器</returns>
140 148 public XFEServerCoreBuilder RegisterStandardService(List<string> executeList, IServerCoreStandardRegisterService serverCoreStandardRegisterService)
141 149 {
142 ApplyParameter(serverCoreStandardRegisterService);
143 serverMultiStandardCoreServiceDictionary.Add(executeList, () => serverCoreStandardRegisterService);
150 var type = serverCoreStandardRegisterService.GetType();
151 serverMultiStandardCoreServiceDictionary.Add(executeList, () =>
152 {
153 var inst = (IServerCoreStandardRegisterService)Activator.CreateInstance(type)!;
154 ApplyParameter(inst);
155 return inst;
156 });
144 157 return this;
145 158 }
146 159
@@ -160,8 +173,13 @@ public abstract class XFEServerCoreBuilder : XFEBuilderBase<XFEServerCoreBuilder
160 173 /// <returns>XFE服务器核心构建器</returns>
161 174 public XFEServerCoreBuilder RegisterStandardAsyncService(List<string> executeList, IServerCoreStandardRegisterAsyncService serverCoreStandardRegisterAsyncService)
162 175 {
163 ApplyParameter(serverCoreStandardRegisterAsyncService);
164 serverMultiStandardCoreAsyncServiceDictionary.Add(executeList, () => serverCoreStandardRegisterAsyncService);
176 var type = serverCoreStandardRegisterAsyncService.GetType();
177 serverMultiStandardCoreAsyncServiceDictionary.Add(executeList, () =>
178 {
179 var inst = (IServerCoreStandardRegisterAsyncService)Activator.CreateInstance(type)!;
180 ApplyParameter(inst);
181 return inst;
182 });
165 183 return this;
166 184 }
167 185