Jelajahi Sumber

rename SerializeToString to Serialize

lith 1 tahun lalu
induk
melakukan
54bd475132
46 mengubah file dengan 303 tambahan dan 323 penghapusan
  1. 1 1
      dotnet/Library/Sers/Sers.Core/Sers.Core.Module.Api.ApiEvent.BeforeCallApi.JsonWebToken/Vit.SSO/JwtValidateService_RS256Base.cs
  2. 2 3
      dotnet/Library/Sers/Sers.Core/Sers.Core.Temp/Sers.Core/Module/Rpc/Serialization/StringBuilder_RpcContextData.cs
  3. 4 5
      dotnet/Library/Sers/Sers.Core/Sers.Core.Temp/Vit.Core/Module/Serialization/Serialization_MessagePack.cs
  4. 11 10
      dotnet/Library/Sers/Sers.Core/Sers.Core/CL/CommunicationManage/CommunicationManageClient.cs
  5. 1 0
      dotnet/Library/Sers/Sers.Core/Sers.Core/CL/MessageOrganize/DefaultOrganize/OrganizeClient.cs
  6. 1 0
      dotnet/Library/Sers/Sers.Core/Sers.Core/CL/MessageOrganize/DefaultOrganize/OrganizeServer.cs
  7. 1 0
      dotnet/Library/Sers/Sers.Core/Sers.Core/CL/MessageOrganize/DefaultOrganize/RequestAdaptor.cs
  8. 1 1
      dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Api/ApiClient.cs
  9. 2 1
      dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Api/Data/ApiSysError.cs
  10. 1 0
      dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Api/LocalApi/StaticFileTransmit/StaticFileMap.cs
  11. 1 0
      dotnet/Library/Sers/Sers.Core/Sers.Core/Module/ApiTrace/Collector/SplunkCollector.cs
  12. 3 1
      dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Message/Extensions/ApiMessageExtensions.cs
  13. 1 0
      dotnet/Library/Sers/Sers.Core/Sers.Core/Module/PubSub/Controller/SubscriberController.cs
  14. 1 0
      dotnet/Library/Sers/Sers.Core/Sers.Core/Module/PubSub/HotPlugSubscriber.cs
  15. 15 14
      dotnet/Library/Sers/Sers.Core/Sers.Core/Module/PubSub/MessageCenterService.cs
  16. 1 0
      dotnet/Library/Sers/Sers.Core/Sers.Core/Module/PubSub/MessageClient.cs
  17. 18 16
      dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Rpc/RpcContextData.cs
  18. 2 2
      dotnet/Library/Sers/Sers.Core/Sers.Core/SersLoader/ApiDesc/Attribute/Valid/SsCmpAttribute.cs
  19. 4 4
      dotnet/Library/Sers/Sers.Core/Sers.Core/SersLoader/ApiDesc/Attribute/Valid/SsNotNullAttribute.cs
  20. 1 0
      dotnet/Library/Sers/Sers.Core/Sers.Core/SersLoader/LocalApiNode.cs
  21. 1 0
      dotnet/Library/Sers/Sers.Core/Sers.Core/SersLoader/SsModelBuilder.cs
  22. 1 1
      dotnet/Library/Sers/Sers.Core/Test/Sers.Core.Module.LocalApi.MsTest/LocalApi/Extensions/LocalApiMngExtensions.cs
  23. 1 1
      dotnet/Library/Sers/Sers.Core/Test/Sers.Core.Module.LocalApi.Qps/LocalApi/Extensions/LocalApiMngExtensions.cs
  24. 1 1
      dotnet/Library/Sers/Sers.Core/Test/Sers.Core.Module.Serialization.Qps/Program.cs
  25. 1 0
      dotnet/Library/Sers/Sers.Gateway/Sers.Gateway/GatewayHelp.cs
  26. 1 0
      dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/ExceptionFilter/ExceptionFilter.cs
  27. 1 0
      dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/Extensions/ILocalApiService_LoadSerslotExtApi_Extensions.cs
  28. 1 0
      dotnet/Library/Sers/Sers.ServiceStation/Sers.ServiceStation/ServiceStation.cs
  29. 3 3
      dotnet/Library/Vit/Vit.Core/Test/Vit.Core.MsTest/Module/SerializationTest.cs
  30. 0 1
      dotnet/Library/Vit/Vit.Core/Vit.Core/Extensions/Json/TypeExtensions.cs
  31. 2 0
      dotnet/Library/Vit/Vit.Core/Vit.Core/Extensions/Newtonsoft/JTokenDeserializeExtensions.cs
  32. 2 1
      dotnet/Library/Vit/Vit.Core/Vit.Core/Extensions/Newtonsoft/JTokenExtensions.cs
  33. 5 5
      dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Log/LogCollector/ElasticSearch/Client/ElasticSearchClient.cs
  34. 3 3
      dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Log/LogCollector/Splunk/Client/SplunkClient.cs
  35. 2 2
      dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Log/LogCollector/TxtCollector.cs
  36. 36 0
      dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Extensions/Object_Convert_Extensions.cs
  37. 151 190
      dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Extensions/Object_Serialize_Extensions.cs
  38. 0 45
      dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/ISerialization_Extensions.cs
  39. 1 1
      dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Json.Extensions.cs
  40. 5 5
      dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Json.cs
  41. 1 1
      dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Serialization_Newtonsoft.cs
  42. 3 3
      dotnet/Library/Vit/Vit.Core/Vit.Core/Util/Net/HttpClient.cs
  43. 4 0
      dotnet/Library/Vit/Vit.Core/Vit.Core/Vit.Core.csproj
  44. 3 2
      dotnet/ServiceCenter/Sers.ServiceCenter/Sers.Gover/Base/GoverApiCenterService.cs
  45. 1 0
      dotnet/ServiceCenter/Sers.ServiceCenter/Sers.Gover/Persistence/Persistence_ApiDesc.cs
  46. 1 0
      dotnet/ServiceCenter/Sers.ServiceCenter/Sers.ServiceCenter/ServiceCenter.cs

+ 1 - 1
dotnet/Library/Sers/Sers.Core/Sers.Core.Module.Api.ApiEvent.BeforeCallApi.JsonWebToken/Vit.SSO/JwtValidateService_RS256Base.cs

@@ -16,7 +16,7 @@ using System.Net.Http;
 using Microsoft.IdentityModel.Tokens;
 
 using Vit.Core.Module.Log;
-using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 using Vit.SSO.Model;
 
 namespace Vit.SSO.Service.RS256

+ 2 - 3
dotnet/Library/Sers/Sers.Core/Sers.Core.Temp/Sers.Core/Module/Rpc/Serialization/StringBuilder_RpcContextData.cs

@@ -17,7 +17,7 @@ namespace Sers.Core.Module.Rpc.Serialization
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public byte[] SerializeToBytes(RpcContextData data)
         {
-            return Encoding.UTF8.GetBytes(SerializeToString(data));
+            return Encoding.UTF8.GetBytes(Serialize(data));
         }
 
 
@@ -25,7 +25,6 @@ namespace Sers.Core.Module.Rpc.Serialization
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public RpcContextData DeserializeFromBytes(ArraySegment<byte> data)
         {
-            //throw new NotImplementedException();
             return Text_RpcContextData.Instance.DeserializeFromBytes(data);
         }
 
@@ -36,7 +35,7 @@ namespace Sers.Core.Module.Rpc.Serialization
 
 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public string SerializeToString(RpcContextData data)
+        public string Serialize(RpcContextData data)
         {
             if (buffer == null)
             {

+ 4 - 5
dotnet/Library/Sers/Sers.Core/Sers.Core.Temp/Vit.Core/Module/Serialization/Serialization_MessagePack.cs

@@ -1,8 +1,10 @@
 using System;
 using System.Runtime.CompilerServices;
+
 using MessagePack;
 using MessagePack.Formatters;
 using MessagePack.Resolvers;
+
 using Vit.Extensions;
 
 namespace Vit.Core.Module.Serialization
@@ -54,7 +56,7 @@ namespace Vit.Core.Module.Serialization
 
         #region (x.1)object <--> String
 
-        #region SerializeToString
+        #region Serialize
 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public string Serialize<T>(T value)
@@ -72,12 +74,11 @@ namespace Vit.Core.Module.Serialization
 
         #endregion
 
-        #region DeserializeFromString
+        #region Deserialize
 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public T Deserialize<T>(string value)
         {
-            //throw new NotImplementedException();
             var bytes = MessagePackSerializer.ConvertFromJson(value, options);
             return DeserializeFromBytes<T>(bytes);
         }
@@ -85,8 +86,6 @@ namespace Vit.Core.Module.Serialization
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public object Deserialize(string value, Type type)
         {
-            //throw new NotImplementedException();
-
             var bytes = MessagePackSerializer.ConvertFromJson(value, options);
             return DeserializeFromBytes(bytes, type);
         }

+ 11 - 10
dotnet/Library/Sers/Sers.Core/Sers.Core/CL/CommunicationManage/CommunicationManageClient.cs

@@ -12,6 +12,7 @@ using Vit.Core.Util.ConfigurationManager;
 using Vit.Core.Util.Reflection;
 using Vit.Extensions.Json_Extensions;
 using Vit.Extensions.Newtonsoft_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Core.CL.CommunicationManage
 {
@@ -20,7 +21,7 @@ namespace Sers.Core.CL.CommunicationManage
 
         public CommunicationManageClient()
         {
-            defaultConfig= Appsettings.json.GetByPath<JObject>("Sers.CL.Config") ?? new JObject();
+            defaultConfig = Appsettings.json.GetByPath<JObject>("Sers.CL.Config") ?? new JObject();
 
             requestTimeoutMs = defaultConfig["requestTimeoutMs"]?.ConvertBySerialize<int?>() ?? 300000;
         }
@@ -43,13 +44,13 @@ namespace Sers.Core.CL.CommunicationManage
         /// <summary>
         /// 会在内部线程中被调用 
         /// </summary>
-        public Action<IOrganizeConnection,object, ArraySegment<byte>, Action<object, Vit.Core.Util.Pipelines.ByteData>> conn_OnGetRequest{   get;set;    }
+        public Action<IOrganizeConnection, object, ArraySegment<byte>, Action<object, Vit.Core.Util.Pipelines.ByteData>> conn_OnGetRequest { get; set; }
 
-        public Action<IOrganizeConnection,ArraySegment<byte>> conn_OnGetMessage{   get; set;   }
+        public Action<IOrganizeConnection, ArraySegment<byte>> conn_OnGetMessage { get; set; }
         #endregion
 
         #region SendMessageAsync    
-        
+
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void SendMessageAsync(Vit.Core.Util.Pipelines.ByteData message)
         {
@@ -57,7 +58,7 @@ namespace Sers.Core.CL.CommunicationManage
             {
                 conn.SendMessageAsync(message);
             }
-        }     
+        }
         #endregion
 
 
@@ -68,11 +69,11 @@ namespace Sers.Core.CL.CommunicationManage
             {
                 Stop();
                 return false;
-            }      
+            }
             return true;
         }
 
-       
+
         private bool BuildOrganizeAndConnect()
         {
             #region (x.1)build
@@ -110,7 +111,7 @@ namespace Sers.Core.CL.CommunicationManage
             #endregion
 
             //(x.4) get  connList
-            connList = organizeList.Select(organize=>organize.conn).ToArray();
+            connList = organizeList.Select(organize => organize.conn).ToArray();
 
             return true;
         }
@@ -130,7 +131,7 @@ namespace Sers.Core.CL.CommunicationManage
 
                 #region (x.1) get configs
                 var configs = Appsettings.json.GetByPath<JObject[]>("Sers.CL.Client");
-                if (configs == null) 
+                if (configs == null)
                 {
                     //return null;
                     configs = DefaultClientConfig.Deserialize<JObject[]>();
@@ -208,7 +209,7 @@ namespace Sers.Core.CL.CommunicationManage
         #endregion
 
 
-        
+
 
     }
 }

+ 1 - 0
dotnet/Library/Sers/Sers.Core/Sers.Core/CL/MessageOrganize/DefaultOrganize/OrganizeClient.cs

@@ -9,6 +9,7 @@ using Vit.Core.Util.Pipelines;
 using Vit.Extensions;
 using Vit.Extensions.Json_Extensions;
 using Vit.Extensions.Newtonsoft_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Core.CL.MessageOrganize.DefaultOrganize
 {

+ 1 - 0
dotnet/Library/Sers/Sers.Core/Sers.Core/CL/MessageOrganize/DefaultOrganize/OrganizeServer.cs

@@ -12,6 +12,7 @@ using Vit.Core.Module.Log;
 using Vit.Extensions;
 using Vit.Extensions.Json_Extensions;
 using Vit.Extensions.Newtonsoft_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Core.CL.MessageOrganize.DefaultOrganize
 {

+ 1 - 0
dotnet/Library/Sers/Sers.Core/Sers.Core/CL/MessageOrganize/DefaultOrganize/RequestAdaptor.cs

@@ -18,6 +18,7 @@ using Vit.Core.Util.Threading.Timer;
 using Vit.Extensions;
 using Vit.Extensions.Json_Extensions;
 using Vit.Extensions.Newtonsoft_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Core.CL.MessageOrganize.DefaultOrganize
 {

+ 1 - 1
dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Api/ApiClient.cs

@@ -7,7 +7,7 @@ using Sers.Core.Module.Message;
 using Vit.Core.Util.ComponentModel.SsError;
 using Sers.Core.Module.Rpc;
 using System.Runtime.CompilerServices;
-using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Core.Module.Api
 {

+ 2 - 1
dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Api/Data/ApiSysError.cs

@@ -4,6 +4,7 @@ using Vit.Core.Module.Log;
 using Sers.Core.Module.Rpc;
 using Vit.Core.Util.ComponentModel.SsError;
 using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Core.Module.Api.Data
 {
@@ -15,7 +16,7 @@ namespace Sers.Core.Module.Api.Data
             try
             {
                 string msg = "[ApiCallError]route:" + rpcContextData.route;
-                msg += Environment.NewLine+"error:" + error.Serialize();
+                msg += Environment.NewLine + "error:" + error.Serialize();
                 msg += Environment.NewLine + "rpcData:" + rpcContextData.Serialize();
                 try
                 {

+ 1 - 0
dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Api/LocalApi/StaticFileTransmit/StaticFileMap.cs

@@ -8,6 +8,7 @@ using Vit.Core.Util.ConfigurationManager;
 using Vit.Core.Util.Common;
 using System.Collections.Generic;
 using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Core.Module.Api.LocalApi.StaticFileTransmit
 {

+ 1 - 0
dotnet/Library/Sers/Sers.Core/Sers.Core/Module/ApiTrace/Collector/SplunkCollector.cs

@@ -9,6 +9,7 @@ using Vit.Core.Module.Log;
 using Vit.Core.Module.Log.LogCollector.Splunk.Client;
 using Vit.Extensions.Newtonsoft_Extensions;
 using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Core.Module.ApiTrace.Collector
 {

+ 3 - 1
dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Message/Extensions/ApiMessageExtensions.cs

@@ -6,6 +6,8 @@ using Vit.Core.Util.ComponentModel.SsError;
 using Newtonsoft.Json.Linq;
 using System.Runtime.CompilerServices;
 using Vit.Extensions.Json_Extensions;
+using Vit.Core.Module.Serialization;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Vit.Extensions
 {
@@ -39,7 +41,7 @@ namespace Vit.Extensions
             data.RpcContextData_OriData_Set(rpcData);
 
 
-            #region (x.3) set body          
+            #region (x.3) set body
             ApiReturn ret = error;
             data.value_OriData = ret.SerializeToArraySegmentByte();
             #endregion

+ 1 - 0
dotnet/Library/Sers/Sers.Core/Sers.Core/Module/PubSub/Controller/SubscriberController.cs

@@ -2,6 +2,7 @@
 using System;
 using System.Runtime.CompilerServices;
 using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Core.Module.PubSub.Controller
 {

+ 1 - 0
dotnet/Library/Sers/Sers.Core/Sers.Core/Module/PubSub/HotPlugSubscriber.cs

@@ -2,6 +2,7 @@
 using System.Runtime.CompilerServices;
 
 using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Core.Module.PubSub
 {

+ 15 - 14
dotnet/Library/Sers/Sers.Core/Sers.Core/Module/PubSub/MessageCenterService.cs

@@ -7,6 +7,7 @@ using Vit.Core.Module.Log;
 using Sers.Core.Module.Message;
 using System.Runtime.CompilerServices;
 using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Core.Module.PubSub
 {
@@ -14,8 +15,8 @@ namespace Sers.Core.Module.PubSub
     {
         public static readonly MessageCenterService Instance = new MessageCenterService();
 
-        
-        public void Conn_OnDisconnected(IOrganizeConnection  conn)
+
+        public void Conn_OnDisconnected(IOrganizeConnection conn)
         {
             //移除conn的所有订阅
             foreach (var msgTitle in subscriberMap.Keys.ToList())
@@ -25,13 +26,13 @@ namespace Sers.Core.Module.PubSub
         }
 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public void OnGetMessage(IOrganizeConnection  conn, ArraySegment<byte> messageData)
+        public void OnGetMessage(IOrganizeConnection conn, ArraySegment<byte> messageData)
         {
             SersFile frame = new SersFile().Unpack(messageData);
 
             try
             {
-               
+
                 //byte msgType = frame.GetFile(0).AsSpan()[0];
                 var file0 = frame.GetFile(0);
                 byte msgType = file0.Array[file0.Offset];
@@ -55,22 +56,22 @@ namespace Sers.Core.Module.PubSub
                 Logger.Error(ex);
             }
         }
-       
 
-      
-        
 
-       
+
+
+
+
 
         /// <summary>
         /// 消息订阅者   msgTitle ->    connList
         /// </summary>
-        ConcurrentDictionary<string, ConcurrentDictionary<int, IOrganizeConnection >> subscriberMap = new ConcurrentDictionary<string, ConcurrentDictionary<int, IOrganizeConnection >>();
+        ConcurrentDictionary<string, ConcurrentDictionary<int, IOrganizeConnection>> subscriberMap = new ConcurrentDictionary<string, ConcurrentDictionary<int, IOrganizeConnection>>();
 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        void Publish(string msgTitle,ArraySegment<byte> msgData)
+        void Publish(string msgTitle, ArraySegment<byte> msgData)
         {
-            if (!subscriberMap.TryGetValue(msgTitle, out var connList)) return;   
+            if (!subscriberMap.TryGetValue(msgTitle, out var connList)) return;
 
             //message,msgTitle,msgData
             var frame = new SersFile().SetFiles(
@@ -78,7 +79,7 @@ namespace Sers.Core.Module.PubSub
                  msgTitle.SerializeToArraySegmentByte(),
                  msgData
                 ).Package().ToBytes();
-        
+
             foreach (var conn in connList.Values)
             {
                 conn.SendMessageAsync(new Vit.Core.Util.Pipelines.ByteData(frame.BytesToArraySegmentByte()));
@@ -86,7 +87,7 @@ namespace Sers.Core.Module.PubSub
         }
 
 
-        public void Subscribe(IOrganizeConnection  conn, string msgTitle)
+        public void Subscribe(IOrganizeConnection conn, string msgTitle)
         {
             lock (this)
             {
@@ -96,7 +97,7 @@ namespace Sers.Core.Module.PubSub
             }
         }
 
-        public void SubscribeCancel(IOrganizeConnection  conn, string msgTitle)
+        public void SubscribeCancel(IOrganizeConnection conn, string msgTitle)
         {
             lock (this)
             {

+ 1 - 0
dotnet/Library/Sers/Sers.Core/Sers.Core/Module/PubSub/MessageClient.cs

@@ -6,6 +6,7 @@ using System.Collections.Concurrent;
 using Sers.Core.CL.MessageOrganize;
 using System.Runtime.CompilerServices;
 using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Core.Module.PubSub
 {

+ 18 - 16
dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Rpc/RpcContextData.cs

@@ -1,9 +1,11 @@
 
 using Sers.Core.Module.Rpc.Serialization;
 using Sers.Core.Module.Rpc.Serialization.Fast;
+
 using System;
 using System.Collections.Generic;
 using System.Runtime.CompilerServices;
+
 using Vit.Core.Util.ConfigurationManager;
 
 namespace Sers.Core.Module.Rpc
@@ -22,18 +24,18 @@ namespace Sers.Core.Module.Rpc
             // 可为 Newtonsoft、Text、BytePointor。
             // 效率依次递增。BytePointor 序列化为二进制数据而不是json字符串。
             string rpcDataSerializeMode = Appsettings.json.GetByPath<string>("Sers.RpcDataSerializeMode");
- 
-            switch (rpcDataSerializeMode) 
+
+            switch (rpcDataSerializeMode)
             {
                 case "Newtonsoft": Serialization = Newtonsoft_RpcContextData.Instance; break;
                 case "Text": Serialization = Text_RpcContextData.Instance; break;
                 //case "StringBuilder": Serialization = StringBuilder_RpcContextData.Instance; break;
                 //case "MessagePack": Serialization = MessagePack_RpcContextData.Instance; break;
-                case "BytePointor": Serialization = BytePointor_RpcContextData.Instance; break;           
-                          
+                case "BytePointor": Serialization = BytePointor_RpcContextData.Instance; break;
+
                 default: Serialization = Text_RpcContextData.Instance; break;
             }
-        
+
         }
 
         #endregion
@@ -47,21 +49,21 @@ namespace Sers.Core.Module.Rpc
         //[MethodImpl(MethodImplOptions.AggressiveInlining)]
         //public string Serialize()
         //{    
-        //    return StringBuilder_RpcContextData.SerializeToString(this);
+        //    return StringBuilder_RpcContextData.Serialize(this);
         //}
 
-       
+
 
 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public byte[] ToBytes() 
+        public byte[] ToBytes()
         {
-            return Serialization.SerializeToBytes(this);     
+            return Serialization.SerializeToBytes(this);
         }
 
 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static RpcContextData FromBytes(ArraySegment<byte>data)
+        public static RpcContextData FromBytes(ArraySegment<byte> data)
         {
             return Serialization.DeserializeFromBytes(data);
         }
@@ -119,9 +121,9 @@ namespace Sers.Core.Module.Rpc
 
         #region caller
 
-        public Caller caller=new Caller();
+        public Caller caller = new Caller();
 
-        public class Caller 
+        public class Caller
         {
             public string rid;
             public List<string> callStack;
@@ -157,7 +159,7 @@ namespace Sers.Core.Module.Rpc
             [MethodImpl(MethodImplOptions.AggressiveInlining)]
             public Dictionary<string, string> Headers()
             {
-                return headers??(headers = new Dictionary<string, string>());
+                return headers ?? (headers = new Dictionary<string, string>());
             }
 
             /// <summary>
@@ -168,7 +170,7 @@ namespace Sers.Core.Module.Rpc
             [MethodImpl(MethodImplOptions.AggressiveInlining)]
             public Dictionary<string, string> Headers(int capacity)
             {
-                return headers??(headers = new Dictionary<string, string>(capacity));
+                return headers ?? (headers = new Dictionary<string, string>(capacity));
             }
 
             [MethodImpl(MethodImplOptions.AggressiveInlining)]
@@ -185,9 +187,9 @@ namespace Sers.Core.Module.Rpc
         #endregion
 
 
- 
+
         public object error;
- 
+
         public object user;
 
 

+ 2 - 2
dotnet/Library/Sers/Sers.Core/Sers.Core/SersLoader/ApiDesc/Attribute/Valid/SsCmpAttribute.cs

@@ -1,6 +1,6 @@
 using Sers.SersLoader.ApiDesc.Attribute.RpcVerify;
 
-using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.SersLoader.ApiDesc.Attribute.Valid
 {
@@ -46,7 +46,7 @@ namespace Sers.SersLoader.ApiDesc.Attribute.Valid
 
         protected virtual void FlushCondition()
         {
-            //  { "type":"==","path":"caller.source",  "value":SsExp  }  
+            //  { "type":"==","path":"caller.source",  "value":SsExp  }
             condition = new { type= type, path= path, value = value }.Serialize();
         }
  

+ 4 - 4
dotnet/Library/Sers/Sers.Core/Sers.Core/SersLoader/ApiDesc/Attribute/Valid/SsNotNullAttribute.cs

@@ -1,6 +1,6 @@
 using Sers.SersLoader.ApiDesc.Attribute.RpcVerify;
 
-using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.SersLoader.ApiDesc.Attribute.Valid
 {
@@ -10,7 +10,7 @@ namespace Sers.SersLoader.ApiDesc.Attribute.Valid
     /// [SsNotNull(path = "http.headers.Authorization",   errorMessage = "必须指定Authorization")]
     /// </summary>
     public class SsNotNullAttribute : SsRpcVerifyAttribute
-    {  
+    {
 
         #region path        
         string _path;
@@ -22,12 +22,12 @@ namespace Sers.SersLoader.ApiDesc.Attribute.Valid
                 _path = value;
 
                 // { "type":"NotNull","path":"caller.source"  } 
-                condition = new { type = "NotNull", path = path }.Serialize();              
+                condition = new { type = "NotNull", path = path }.Serialize();
             }
         }
         #endregion
 
 
- 
+
     }
 }

+ 1 - 0
dotnet/Library/Sers/Sers.Core/Sers.Core/SersLoader/LocalApiNode.cs

@@ -10,6 +10,7 @@ using Sers.Core.Module.Api.LocalApi;
 
 using Vit.Core.Util.Dynamic;
 using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.SersLoader
 {

+ 1 - 0
dotnet/Library/Sers/Sers.Core/Sers.Core/SersLoader/SsModelBuilder.cs

@@ -17,6 +17,7 @@ using Vit.Core.Util.XmlComment;
 using Vit.Extensions;
 using Vit.Extensions.Json_Extensions;
 using Vit.Extensions.Newtonsoft_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.SersLoader
 {

+ 1 - 1
dotnet/Library/Sers/Sers.Core/Test/Sers.Core.Module.LocalApi.MsTest/LocalApi/Extensions/LocalApiMngExtensions.cs

@@ -6,7 +6,7 @@ using Sers.Core.Module.Api.LocalApi;
 using Sers.Core.Module.Message;
 
 using Vit.Extensions;
-using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Core.Module.LocalApi.MsTest.LocalApi.Extensions
 {

+ 1 - 1
dotnet/Library/Sers/Sers.Core/Test/Sers.Core.Module.LocalApi.Qps/LocalApi/Extensions/LocalApiMngExtensions.cs

@@ -5,7 +5,7 @@ using Sers.Core.Module.Api.LocalApi;
 using Sers.Core.Module.Message;
 
 using Vit.Extensions;
-using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Core.Module.LocalApi.MsTest.LocalApi.Extensions
 {

+ 1 - 1
dotnet/Library/Sers/Sers.Core/Test/Sers.Core.Module.Serialization.Qps/Program.cs

@@ -274,7 +274,7 @@ namespace App
                             //data.user = jo;
 
 
-                            //str = Instance.SerializeToString(data);
+                            //str = Instance.Serialize(data);
 
                             //bytes = Instance.SerializeToBytes(data);
 

+ 1 - 0
dotnet/Library/Sers/Sers.Gateway/Sers.Gateway/GatewayHelp.cs

@@ -17,6 +17,7 @@ using Vit.Core.Module.Log;
 using Vit.Core.Util.ConfigurationManager;
 using Vit.Extensions;
 using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 using Vit.WebHost;
 
 namespace Sers.Gateway

+ 1 - 0
dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/ExceptionFilter/ExceptionFilter.cs

@@ -8,6 +8,7 @@ using Vit.Core.Module.Log;
 using Vit.Core.Util.ComponentModel.Data;
 using Vit.Core.Util.ComponentModel.SsError;
 using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Serslot.ExceptionFilter
 {

+ 1 - 0
dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/Extensions/ILocalApiService_LoadSerslotExtApi_Extensions.cs

@@ -6,6 +6,7 @@ using System;
 using System.Collections.Generic;
 
 using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Vit.Extensions
 {

+ 1 - 0
dotnet/Library/Sers/Sers.ServiceStation/Sers.ServiceStation/ServiceStation.cs

@@ -22,6 +22,7 @@ using Newtonsoft.Json.Linq;
 using Vit.Core.Util.Pipelines;
 using Vit.Extensions.Newtonsoft_Extensions;
 using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.ServiceStation
 {

+ 3 - 3
dotnet/Library/Vit/Vit.Core/Test/Vit.Core.MsTest/Module/SerializationTest.cs

@@ -1,5 +1,4 @@
 using System;
-using System.Reflection;
 
 using Microsoft.VisualStudio.TestTools.UnitTesting;
 
@@ -8,6 +7,7 @@ using Newtonsoft.Json.Linq;
 using Vit.Core.Module.Serialization;
 using Vit.Extensions.Json_Extensions;
 using Vit.Extensions.Newtonsoft_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Vit.Core.MsTest.Module
 {
@@ -35,7 +35,7 @@ namespace Vit.Core.MsTest.Module
 
 
             #region (x.2)object <--> String
-            Assert.AreEqual(Json.DeserializeFromString<ModelA>(Json.SerializeToString(modelA))?.name, testString);
+            Assert.AreEqual(Json.Deserialize<ModelA>(Json.Serialize(modelA))?.name, testString);
             Assert.AreEqual(modelA.Serialize().Deserialize<ModelA>()?.name, testString);
             #endregion
 
@@ -89,7 +89,7 @@ namespace Vit.Core.MsTest.Module
         public void TestMethod_DateTime()
         {
             var time = DateTime.Now;
-            var str = Json.SerializeToString(time);
+            var str = Json.Serialize(time);
             Assert.AreEqual(time.ToString("yyyy-MM-dd HH:mm:ss"), str);
         }
 

+ 0 - 1
dotnet/Library/Vit/Vit.Core/Vit.Core/Extensions/Json/TypeExtensions.cs

@@ -1,5 +1,4 @@
 using System;
-using System.Reflection;
 using System.Runtime.CompilerServices;
 
 namespace Vit.Extensions.Json_Extensions

+ 2 - 0
dotnet/Library/Vit/Vit.Core/Vit.Core/Extensions/Newtonsoft/JTokenDeserializeExtensions.cs

@@ -4,7 +4,9 @@ using Newtonsoft.Json.Linq;
 using System;
 using System.Runtime.CompilerServices;
 
+using Vit.Core.Module.Serialization;
 using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Vit.Extensions.Newtonsoft_Extensions
 {

+ 2 - 1
dotnet/Library/Vit/Vit.Core/Vit.Core/Extensions/Newtonsoft/JTokenExtensions.cs

@@ -4,6 +4,7 @@ using Newtonsoft.Json.Linq;
 using System;
 using System.Runtime.CompilerServices;
 
+using Vit.Core.Module.Serialization;
 using Vit.Extensions.Json_Extensions;
 
 namespace Vit.Extensions.Newtonsoft_Extensions
@@ -110,7 +111,7 @@ namespace Vit.Extensions.Newtonsoft_Extensions
                 return new JValue(value);
             else
             {
-                return JsonConvert.DeserializeObject(value.Serialize()) as JToken;
+                return JsonConvert.DeserializeObject(Json.Serialize(value)) as JToken;
             }
         }
         #endregion

+ 5 - 5
dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Log/LogCollector/ElasticSearch/Client/ElasticSearchClient.cs

@@ -2,7 +2,7 @@
 using System.Collections.Concurrent;
 using System.Collections.Generic;
 using System.Text;
-using Vit.Extensions.Json_Extensions;
+using Vit.Core.Module.Serialization;
 
 namespace Vit.Core.Module.Log.LogCollector.ElasticSearch.Client
 {
@@ -33,7 +33,7 @@ namespace Vit.Core.Module.Log.LogCollector.ElasticSearch.Client
         /// <summary>
         /// 若指定则在指定时间间隔统一推送数据,若不指定则立即推送。单位:ms
         /// </summary>
-        public int? intervalMs; 
+        public int? intervalMs;
 
 
 
@@ -94,8 +94,8 @@ namespace Vit.Core.Module.Log.LogCollector.ElasticSearch.Client
                     (recordList_Swap, recordList) = (recordList, recordList_Swap);
                     if (recordList_Swap.Count > 0)
                     {
-                        lock(buffer)
-                             SendToServer(recordList_Swap, buffer);
+                        lock (buffer)
+                            SendToServer(recordList_Swap, buffer);
                         while (recordList_Swap.TryTake(out _)) ;
                     }
                 };
@@ -116,7 +116,7 @@ namespace Vit.Core.Module.Log.LogCollector.ElasticSearch.Client
             if (buffer == null) buffer = new StringBuilder();
             foreach (var record in records)
             {
-                buffer.AppendLine("{\"create\":{}}").AppendLine(record.Serialize());
+                buffer.AppendLine("{\"create\":{}}").AppendLine(Json.Serialize(record));
             }
             request.Content = new StringContent(buffer.ToString(), Vit.Core.Module.Serialization.Serialization_Newtonsoft.defaultEncoding, "application/json");
             buffer.Clear();

+ 3 - 3
dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Log/LogCollector/Splunk/Client/SplunkClient.cs

@@ -2,7 +2,7 @@
 using System.Net.Http.Headers;
 using System.Net.Http;
 using System.Collections.Concurrent;
-using Vit.Extensions.Json_Extensions;
+using Vit.Core.Module.Serialization;
 
 namespace Vit.Core.Module.Log.LogCollector.Splunk.Client
 {
@@ -112,10 +112,10 @@ namespace Vit.Core.Module.Log.LogCollector.Splunk.Client
         private System.Net.Http.HttpClient httpClient = null;
 
         [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
-        private void SendToServer(object record) 
+        private void SendToServer(object record)
         {
             var request = new HttpRequestMessage(HttpMethod.Post, url);
-            request.Content = new StringContent(record.Serialize(), Vit.Core.Module.Serialization.Serialization_Newtonsoft.defaultEncoding, "application/json");
+            request.Content = new StringContent(Json.Serialize(record), Vit.Core.Module.Serialization.Serialization_Newtonsoft.defaultEncoding, "application/json");
 
             // TODO:    retry when fail. 
             //          batch:  batchIntervalInSeconds, batchSizeLimit, queueLimit

+ 2 - 2
dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Log/LogCollector/TxtCollector.cs

@@ -5,7 +5,7 @@ using System.IO;
 using System.Linq;
 using System.Text;
 
-using Vit.Extensions.Json_Extensions;
+using Vit.Core.Module.Serialization;
 
 namespace Vit.Core.Module.Log.LogCollector
 {
@@ -41,7 +41,7 @@ namespace Vit.Core.Module.Log.LogCollector
             builder.Append(DateTime.Now.ToString("[HH:mm:ss.ffff]")).Append(msg.message);
             foreach (var obj in msg.metadata)
             {
-                builder.Append(metadataSeparator).Append(obj.Serialize());
+                builder.Append(metadataSeparator).Append(Json.Serialize(obj));
             }
             return builder.ToString();
         }

+ 36 - 0
dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Extensions/Object_Convert_Extensions.cs

@@ -0,0 +1,36 @@
+using System;
+using System.Runtime.CompilerServices;
+
+using Vit.Core.Module.Serialization;
+
+namespace Vit.Extensions.Json_Extensions
+{
+    public static partial class Object_Convert_Extensions
+    {
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="value"></param>
+        /// <param name="type"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static object ConvertBySerialize(this object value, Type type)
+        {
+            return Json.Deserialize(Json.Serialize(value), type);
+        }
+
+        /// <summary>
+        ///
+        /// </summary>
+        /// <typeparam name="TTarget"></typeparam>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static TTarget ConvertBySerialize<TTarget>(this object value)
+        {
+            return Json.Deserialize<TTarget>(Json.Serialize(value));
+        }
+
+
+    }
+}

+ 151 - 190
dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Extensions/ObjectSerializeExtensions.cs → dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Extensions/Object_Serialize_Extensions.cs

@@ -1,190 +1,151 @@
-using System;
-using System.Runtime.CompilerServices;
-
-using Vit.Core.Module.Serialization;
-
-namespace Vit.Extensions.Json_Extensions
-{
-    public static partial class ObjectSerializeExtensions
-    {
-
-        #region (x.1)object <--> String
-
-        #region Serialize
-
-        /// <summary>
-        /// 使用Newtonsoft序列化。
-        /// value 可为 struct(int bool string 等) 或者 class(模型 Array JObject等)
-        /// </summary>
-        /// <param name="value"></param>
-        /// <returns></returns>
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static string Serialize(this object value)
-        {
-            return Json.SerializeToString(value);
-        }
-        #endregion
-
-
-        #region Deserialize
-
-        /// <summary>
-        /// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool) 
-        /// </summary>
-        /// <param name="value"></param>
-        /// <param name="type"></param>
-        /// <returns></returns>
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static object Deserialize(this string value, Type type)
-        {
-            return Json.DeserializeFromString(value, type);
-        }
-
-        /// <summary>
-        /// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool) 
-        /// </summary>
-        /// <typeparam name="T"></typeparam>
-        /// <param name="value"></param>
-        /// <returns></returns>
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static T Deserialize<T>(this string value)
-        {
-            return Json.DeserializeFromString<T>(value);
-        }
-
-        #endregion
-
-        #endregion
-
-
-        #region (x.2)object <--> bytes
-
-        #region SerializeToBytes
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="value"></param>
-        /// <returns></returns>
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static byte[] SerializeToBytes(this object value)
-        {
-            return Json.SerializeToBytes(value);
-        }
-        #endregion
-
-        #region DeserializeFromBytes 
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <typeparam name="T"></typeparam>
-        /// <param name="value"></param>
-        /// <returns></returns>
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static T DeserializeFromBytes<T>(this byte[] value)
-        {
-            return Json.DeserializeFromBytes<T>(value);
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="value"></param>
-        /// <param name="type"></param>
-        /// <returns></returns>
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static object DeserializeFromBytes(this byte[] value, Type type)
-        {
-            return Json.DeserializeFromBytes(value, type);
-        }
-        #endregion
-
-        #endregion
-
-
-        #region (x.3)object <--> ArraySegmentByte
-
-
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="value"></param>
-        /// <returns></returns>
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static ArraySegment<byte> SerializeToArraySegmentByte(this object value)
-        {
-            return Json.SerializeToArraySegmentByte(value);
-        }
-
-
-
-
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <typeparam name="T"></typeparam>
-        /// <param name="value"></param>
-        /// <returns></returns>
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static T DeserializeFromArraySegmentByte<T>(this ArraySegment<byte> value)
-        {
-            return Json.DeserializeFromArraySegmentByte<T>(value);
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="value"></param>
-        /// <param name="type"></param>
-        /// <returns></returns>
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static object DeserializeFromArraySegmentByte(this ArraySegment<byte> value, Type type)
-        {
-            return Json.DeserializeFromArraySegmentByte(value, type);
-        }
-
-        #endregion
-
-
-
-
-
-
-        #region (x.4)ConvertBySerialize
-
-
-        /// <summary>
-        /// 通过序列化克隆对象
-        /// </summary>
-        /// <param name="value"></param>
-        /// <param name="type"></param>
-        /// <returns></returns>
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static object ConvertBySerialize(this object value, Type type)
-        {
-            var str = Json.SerializeToString(value);
-            return Json.DeserializeFromString(str, type);
-        }
-
-        /// <summary>
-        /// 通过序列化克隆对象
-        /// </summary>
-        /// <typeparam name="TTarget"></typeparam>
-        /// <param name="value"></param>
-        /// <returns></returns>
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static TTarget ConvertBySerialize<TTarget>(this object value)
-        {
-            var str = Json.SerializeToString(value);
-            return Json.DeserializeFromString<TTarget>(str);
-        }
-        #endregion
-
-
-
-
-
-
-
-
-    }
-}
+using System;
+using System.Runtime.CompilerServices;
+
+using Vit.Core.Module.Serialization;
+
+namespace Vit.Extensions.Object_Serialize_Extensions
+{
+    public static partial class Object_Serialize_Extensions
+    {
+
+        #region (x.1)object <--> String
+
+        #region Serialize
+
+        /// <summary>
+        /// 使用Newtonsoft序列化。
+        /// value 可为 struct(int bool string 等) 或者 class(模型 Array JObject等)
+        /// </summary>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static string Serialize(this object value)
+        {
+            return Json.Serialize(value);
+        }
+        #endregion
+
+
+        #region Deserialize
+
+        /// <summary>
+        /// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool) 
+        /// </summary>
+        /// <param name="value"></param>
+        /// <param name="type"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static object Deserialize(this string value, Type type)
+        {
+            return Json.Deserialize(value, type);
+        }
+
+        /// <summary>
+        /// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool) 
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static T Deserialize<T>(this string value)
+        {
+            return Json.Deserialize<T>(value);
+        }
+
+        #endregion
+
+        #endregion
+
+
+        #region (x.2)object <--> bytes
+
+        #region SerializeToBytes
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static byte[] SerializeToBytes(this object value)
+        {
+            return Json.SerializeToBytes(value);
+        }
+        #endregion
+
+        #region DeserializeFromBytes 
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static T DeserializeFromBytes<T>(this byte[] value)
+        {
+            return Json.DeserializeFromBytes<T>(value);
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="value"></param>
+        /// <param name="type"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static object DeserializeFromBytes(this byte[] value, Type type)
+        {
+            return Json.DeserializeFromBytes(value, type);
+        }
+        #endregion
+
+        #endregion
+
+
+        #region (x.3)object <--> ArraySegmentByte
+
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static ArraySegment<byte> SerializeToArraySegmentByte(this object value)
+        {
+            return Json.SerializeToArraySegmentByte(value);
+        }
+
+
+
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static T DeserializeFromArraySegmentByte<T>(this ArraySegment<byte> value)
+        {
+            return Json.DeserializeFromArraySegmentByte<T>(value);
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="value"></param>
+        /// <param name="type"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static object DeserializeFromArraySegmentByte(this ArraySegment<byte> value, Type type)
+        {
+            return Json.DeserializeFromArraySegmentByte(value, type);
+        }
+
+        #endregion
+
+
+
+
+    }
+}

+ 0 - 45
dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/ISerialization_Extensions.cs

@@ -1,45 +0,0 @@
-using System;
-
-namespace Vit.Core.Module.Serialization
-{
-    public static class ISerialization_Extensions
-    {
-        #region (x.1)object <--> String
-
-        ///// <summary>
-        ///// T也可为值类型(例如 int?、bool) 
-        ///// </summary>
-        ///// <typeparam name="T"></typeparam>
-        ///// <param name="value"></param>
-        ///// <returns></returns>
-        //string Serialize<T>(T value);
-
-        ///// <summary>
-        ///// T也可为值类型(例如 int?、bool) 
-        ///// </summary>
-        ///// <param name="value"></param>
-        ///// <param name="type"></param>
-        ///// <returns></returns>
-        //string Serialize(object value, Type type);
-
-
-
-        ///// <summary>
-        ///// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool) 
-        ///// </summary>
-        ///// <param name="value"></param>
-        ///// <returns></returns>
-        //T DeserializeFromString<T>(string value);
-
-        ///// <summary>
-        ///// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool) 
-        ///// </summary>
-        ///// <param name="value"></param>
-        ///// <param name="type"></param>
-        ///// <returns></returns>
-        //object DeserializeFromString(string value, Type type);
-
-        #endregion
-
-    }
-}

+ 1 - 1
dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Json.Extensions.cs

@@ -6,7 +6,7 @@ namespace Vit.Core.Module.Serialization
     public static partial class Json
     {
 
-        #region (x.1)object <--> String
+        #region object <--> String
 
         /// <summary>
         /// T也可为值类型(例如 int?、bool) 

+ 5 - 5
dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Json.cs

@@ -16,7 +16,7 @@ namespace Vit.Core.Module.Serialization
         #region (x.1)object <--> String
 
         /// <summary>
-        /// T也可为值类型(例如 int?、bool)
+        /// T could be ValueType(example: int? , bool)
         /// </summary>
         /// <typeparam name="T"></typeparam>
         /// <param name="value"></param>
@@ -28,7 +28,7 @@ namespace Vit.Core.Module.Serialization
         }
 
         /// <summary>
-        /// T也可为值类型(例如 int?、bool)
+        /// T could be ValueType(example: int? , bool)
         /// </summary>
         /// <param name="value"></param>
         /// <param name="type"></param>
@@ -42,7 +42,7 @@ namespace Vit.Core.Module.Serialization
 
 
         /// <summary>
-        /// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool)
+        /// 使用Newtonsoft反序列化。T could be ValueType(example: int? , bool)
         /// </summary>
         /// <param name="value"></param>
         /// <returns></returns>
@@ -53,7 +53,7 @@ namespace Vit.Core.Module.Serialization
         }
 
         /// <summary>
-        /// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool)
+        /// 使用Newtonsoft反序列化。T could be ValueType(example: int? , bool)
         /// </summary>
         /// <param name="value"></param>
         /// <param name="type"></param>
@@ -163,7 +163,7 @@ namespace Vit.Core.Module.Serialization
         /// <param name="value"></param>
         /// <returns></returns>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static ArraySegment<byte> SerializeToArraySegmentByte(this object value)
+        public static ArraySegment<byte> SerializeToArraySegmentByte(object value)
         {
             return Instance.SerializeToBytes(value).BytesToArraySegmentByte();
         }

+ 1 - 1
dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Serialization_Newtonsoft.cs

@@ -201,7 +201,7 @@ namespace Vit.Core.Module.Serialization
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public T Deserialize<T>(string value)
         {
-            //return (T)DeserializeFromString(value,typeof(T));
+            //return (T)Deserialize(value,typeof(T));
             if (null == value) return default;
 
             Type type = typeof(T);

+ 3 - 3
dotnet/Library/Vit/Vit.Core/Vit.Core/Util/Net/HttpClient.cs

@@ -27,7 +27,7 @@ namespace Vit.Core.Util.Net
         [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
         public async Task<HttpResponse<T>> SendAsync<T>(HttpRequest request)
         {
-            #region (x.1)构建请求            
+            #region (x.1)构建请求
 
             #region (x.x.1)创建对象           
             var url = request.url;
@@ -51,7 +51,7 @@ namespace Vit.Core.Util.Net
                         httpRequest.Content = httpContent;
                         break;
                     default:
-                        var content = Json.SerializeToString(request.body);
+                        var content = Json.Serialize(request.body);
                         httpRequest.Content = new StringContent(content, request.requestEncoding, "application/json");
                         break;
                 }
@@ -101,7 +101,7 @@ namespace Vit.Core.Util.Net
                 else
                 {
                     string data = await response.Content.ReadAsStringAsync();
-                    httpResponse.data = data.Deserialize<T>();
+                    httpResponse.data = Json.Deserialize<T>(data);
                 }
             }
             return httpResponse;

+ 4 - 0
dotnet/Library/Vit/Vit.Core/Vit.Core/Vit.Core.csproj

@@ -28,6 +28,10 @@
         <DocumentationFile>bin\Debug\netstandard2.0\Vit.Core.xml</DocumentationFile>
     </PropertyGroup>
 
+    <ItemGroup>
+      <Compile Remove="Module\Serialization\Json.Extensions.cs" />
+    </ItemGroup>
+
 
     <ItemGroup>
         <PackageReference Include="System.Buffers" Version="4.5.1" />

+ 3 - 2
dotnet/ServiceCenter/Sers.ServiceCenter/Sers.Gover/Base/GoverApiCenterService.cs

@@ -23,6 +23,7 @@ using Vit.Core.Util.ComponentModel.SsError;
 using Vit.Core.Util.ConfigurationManager;
 using Vit.Extensions;
 using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Gover.Base
 {
@@ -197,7 +198,7 @@ namespace Sers.Gover.Base
                 //(x.x.1) rpcValidations Sers1校验
                 if (apiNode.apiDesc.rpcValidations != null && apiNode.apiDesc.rpcValidations.Count > 0)
                 {
-                    if (oriJson == null) oriJson = rpcData.Serialize().Deserialize<JObject>();
+                    if (oriJson == null) oriJson = rpcData.ConvertBySerialize<JObject>();
 
                     if (!Sers.Core.Module.Valid.Sers1.RpcVerify1.Verify(oriJson, apiNode.apiDesc.rpcValidations, out var validError))
                     {
@@ -209,7 +210,7 @@ namespace Sers.Gover.Base
                 //(x.x.2) rpcVerify2 Sers2校验
                 if (apiNode.apiDesc.rpcVerify2 != null && apiNode.apiDesc.rpcVerify2.Count > 0)
                 {
-                    if (oriJson == null) oriJson = rpcData.Serialize().Deserialize<JObject>();
+                    if (oriJson == null) oriJson = rpcData.ConvertBySerialize<JObject>();
 
                     if (!Sers.Core.Module.Valid.Sers2.RpcVerify2.Verify(oriJson, apiNode.apiDesc.rpcVerify2, out var verifyError))
                     {

+ 1 - 0
dotnet/ServiceCenter/Sers.ServiceCenter/Sers.Gover/Persistence/Persistence_ApiDesc.cs

@@ -10,6 +10,7 @@ using Sers.Gover.Base.Model;
 using Vit.Core.Module.Log;
 using Vit.Core.Util.Common;
 using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.Gover.Persistence
 {

+ 1 - 0
dotnet/ServiceCenter/Sers.ServiceCenter/Sers.ServiceCenter/ServiceCenter.cs

@@ -21,6 +21,7 @@ using Sers.Core.Module.App.AppEvent;
 using System.Runtime.CompilerServices;
 using Vit.Extensions.Newtonsoft_Extensions;
 using Vit.Extensions.Json_Extensions;
+using Vit.Extensions.Object_Serialize_Extensions;
 
 namespace Sers.ServiceCenter
 {