TWCore.Serialization.NSerializer
3.1.0-beta1
See the version list below for details.
dotnet add package TWCore.Serialization.NSerializer --version 3.1.0-beta1
NuGet\Install-Package TWCore.Serialization.NSerializer -Version 3.1.0-beta1
<PackageReference Include="TWCore.Serialization.NSerializer" Version="3.1.0-beta1" />
paket add TWCore.Serialization.NSerializer --version 3.1.0-beta1
#r "nuget: TWCore.Serialization.NSerializer, 3.1.0-beta1"
// Install TWCore.Serialization.NSerializer as a Cake Addin #addin nuget:?package=TWCore.Serialization.NSerializer&version=3.1.0-beta1&prerelease // Install TWCore.Serialization.NSerializer as a Cake Tool #tool nuget:?package=TWCore.Serialization.NSerializer&version=3.1.0-beta1&prerelease
<img src="https://raw.githubusercontent.com/tonyredondo/TWCore2/master/doc/icon.png" alt="Potato" width="45px" height="45px" /> TWCore 3.1
A multipurpose framework library used to create microservices solutions on multiple platforms (runs on windows, linux, linux-arm [raspberry pi], and osx).
Compatible with
- .NET Framework 4.7.2
- netstandard2.0
- netcoreapp2.1
- netcoreapp2.2
- netcoreapp3.1
- net5.0
- net6.0
- net7.0
- net8.0
Advantages
- Easy development of microservices: With fewer code you can subscribe to a message broker and start to process messages as pub/sub or RPC architecture.
- Completely agnostic and loosely coupled: All subsystems of the framework are registered with a dependency injector engine, so using only the configurations files you can switch between Messages brokers, Serialization formats, Rpc transports, Stream compressors, and many more.
- Integrated Log, Trace, and Status engines: you can log on different storage, also use differents trace storages and you have an integrated status library to check your service health.
- A bot subsystem to create bot services on Telegram and Slack
- Extensions methods for objects, strings, and IEnumerables.
- Aspnet Core object viewer and compiler developer tool.
Supported log storages
- Console
- File
- Html File
- MessageBroker
- ElasticSearch
Supported trace storages
- File
- MessageBroker
Supported compressors
- Gzip
- Deflate
- Brotli
Supported messages brokers
- RabbitMQ
- NATS
- NSQ
- Kafka
- Redis (Pub/Sub)
Supported key/value cache storages
- Custom TWCore
- Redis
Supported bot connectors
- Slack
- Telegram
Supported serializers
- Newtonsoft JsonNet
- XmlSerializer
- BinaryFormatter
- Utf8Json
- MsgPack
- NSerializer (Custom binary serializer with object reference graph support and cyclic reference)
- RawSerializer (Like NSerializer but without internal caching, faster, but serialized objects are bigger in bytes size.)
Simple Object Serializer Benchmark
BenchmarkDotNet=v0.11.3, OS=Windows 10.0.17134.523 (1803/April2018Update/Redstone4)\
Intel Core i7-4770R CPU 3.20GHz (Haswell), 1 CPU, 8 logical and 4 physical cores\
.NET Core SDK=2.2.101\
[Host] : .NET Core 2.2.0 (CoreCLR 4.6.27110.04, CoreFX 4.6.27110.04), 64bit RyuJIT\
Core : .NET Core 2.2.0 (CoreCLR 4.6.27110.04, CoreFX 4.6.27110.04), 64bit RyuJIT\
Job=Core Runtime=Core
Method | N | Mean | Error | StdDev | Min | Max | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|
NewtonsoftJsonSerializerToStream | 1 | 42.935 us | 0.4296 us | 0.4019 us | 42.123 us | 43.608 us | 3.6621 | 0.1831 | - | 23296 B |
NewtonsoftJsonDeserializerFromStream | 1 | 78.432 us | 1.5565 us | 1.4560 us | 76.154 us | 80.546 us | 3.5400 | 0.8545 | - | 22960 B |
XmlSerializerToStream | 1 | 45.512 us | 0.3721 us | 0.3299 us | 44.858 us | 46.154 us | 1.8921 | - | - | 12224 B |
XmlDeserializerFromStream | 1 | 91.809 us | 1.4537 us | 1.3598 us | 89.874 us | 94.327 us | 4.5166 | 0.3662 | - | 28608 B |
BinaryFormatterSerializerToStream | 1 | 53.381 us | 0.5491 us | 0.5137 us | 52.418 us | 54.022 us | 2.5635 | - | - | 16504 B |
BinaryFormatterDeserializerFromStream | 1 | 44.802 us | 0.5174 us | 0.4840 us | 43.914 us | 45.613 us | 3.6011 | 0.4883 | - | 22720 B |
Utf8JsonSerializerToStream | 1 | 7.609 us | 0.1364 us | 0.1276 us | 7.429 us | 7.832 us | - | - | - | - |
Utf8JsonDeserializerFromStream | 1 | 20.249 us | 0.2015 us | 0.1885 us | 20.009 us | 20.641 us | 0.9460 | 0.1831 | - | 6016 B |
MessagePackSerializerToStream | 1 | 7.777 us | 0.0682 us | 0.0638 us | 7.658 us | 7.900 us | - | - | - | 96 B |
MessagePackDeserializerFromStream | 1 | 11.087 us | 0.1592 us | 0.1489 us | 10.795 us | 11.419 us | 1.3123 | 0.3204 | - | 8272 B |
NSerializerToStream | 1 | 7.823 us | 0.1440 us | 0.1347 us | 7.607 us | 8.051 us | - | - | - | - |
NDeserializerFromStream | 1 | 7.301 us | 0.0702 us | 0.0657 us | 7.106 us | 7.405 us | 0.4425 | 0.0458 | - | 2800 B |
RawSerializerToStream | 1 | 6.574 us | 0.1298 us | 0.1275 us | 6.375 us | 6.781 us | - | - | - | - |
RawDeserializerFromStream | 1 | 7.837 us | 0.0655 us | 0.0613 us | 7.748 us | 7.937 us | 0.5569 | 0.0763 | - | 3520 B |
<img src="https://raw.githubusercontent.com/tonyredondo/TWCore2/master/doc/serializer-deserializer1.png" alt="Serializer Graph" />
Created by Daniel Redondo
Powered By
<img src="https://raw.githubusercontent.com/tonyredondo/TWCore2/master/doc/rider.jpg" alt="Rider" width="50px" height="50px" /><img src="https://raw.githubusercontent.com/tonyredondo/TWCore2/master/doc/dotTrace.png" alt="dotTrace" width="50px" height="50px" /><img src="https://raw.githubusercontent.com/tonyredondo/TWCore2/master/doc/dotMemory.png" alt="dotMemory" width="50px" height="50px" />
Thanks to @jetbrains for helping on this development with the licenses for Rider, dotTrace and dotMemory
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 is compatible. netcoreapp2.2 is compatible. netcoreapp3.0 was computed. netcoreapp3.1 is compatible. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 2.1
- TWCore (>= 3.1.0-beta1)
-
.NETCoreApp 2.2
- TWCore (>= 3.1.0-beta1)
-
.NETCoreApp 3.1
- TWCore (>= 3.1.0-beta1)
-
.NETFramework 4.7.2
- Microsoft.NETFramework.ReferenceAssemblies (>= 1.0.3)
- TWCore (>= 3.1.0-beta1)
-
.NETStandard 2.0
- TWCore (>= 3.1.0-beta1)
-
net5.0
- TWCore (>= 3.1.0-beta1)
-
net6.0
- TWCore (>= 3.1.0-beta1)
-
net7.0
- TWCore (>= 3.1.0-beta1)
-
net8.0
- TWCore (>= 3.1.0-beta1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.1.0 | 285 | 10/22/2023 |
3.1.0-beta2 | 103 | 10/20/2023 |
3.1.0-beta1 | 101 | 10/19/2023 |
3.0.0-beta5 | 441 | 9/8/2019 |
3.0.0-beta4 | 390 | 9/8/2019 |
3.0.0-beta3 | 421 | 8/20/2019 |
3.0.0-beta2 | 387 | 8/18/2019 |
3.0.0-beta1 | 389 | 8/18/2019 |
2.1.181 | 671 | 7/24/2019 |
2.1.181-beta5 | 446 | 7/16/2019 |
2.1.181-beta4 | 431 | 5/10/2019 |
2.1.181-beta3 | 447 | 3/16/2019 |
2.1.181-beta2 | 444 | 3/8/2019 |
2.1.181-beta | 475 | 3/3/2019 |
2.1.180 | 566 | 3/1/2019 |
2.1.180-rc1 | 470 | 2/28/2019 |
2.1.180-beta9 | 522 | 2/14/2019 |
2.1.180-beta8 | 484 | 2/14/2019 |
2.1.180-beta7 | 508 | 2/8/2019 |
2.1.180-beta6 | 543 | 2/7/2019 |
2.1.180-beta5 | 515 | 2/6/2019 |
2.1.180-beta4 | 515 | 2/5/2019 |
2.1.180-beta3 | 519 | 2/4/2019 |
2.1.180-beta2 | 504 | 2/4/2019 |
2.1.180-beta1 | 519 | 2/4/2019 |
2.1.180-alpha8 | 517 | 1/30/2019 |
2.1.180-alpha7 | 507 | 1/22/2019 |
2.1.180-alpha6 | 504 | 1/21/2019 |
2.1.180-alpha5 | 549 | 1/18/2019 |
2.1.180-alpha4 | 545 | 1/17/2019 |
2.1.180-alpha3 | 536 | 1/16/2019 |
2.1.180-alpha2 | 523 | 1/16/2019 |
2.1.180-alpha1 | 532 | 1/15/2019 |
2.1.179 | 681 | 1/9/2019 |
2.1.179-beta9 | 509 | 1/3/2019 |
2.1.179-beta8 | 556 | 1/2/2019 |
2.1.179-beta7 | 580 | 1/2/2019 |
2.1.179-beta6 | 501 | 12/21/2018 |
2.1.179-beta5 | 500 | 12/19/2018 |
2.1.179-beta4 | 501 | 12/19/2018 |
2.1.179-beta3 | 558 | 12/19/2018 |
2.1.179-beta2 | 542 | 12/18/2018 |
2.1.179-beta12 | 552 | 1/8/2019 |
2.1.179-beta11 | 530 | 1/7/2019 |
2.1.179-beta10 | 518 | 1/4/2019 |
2.1.179-beta1 | 526 | 12/18/2018 |
2.1.179-alpha9 | 507 | 12/18/2018 |
2.1.179-alpha8 | 549 | 11/28/2018 |
2.1.179-alpha7 | 551 | 11/22/2018 |
2.1.179-alpha6 | 573 | 11/20/2018 |
2.1.179-alpha5 | 561 | 11/20/2018 |
2.1.179-alpha4 | 553 | 11/20/2018 |
2.1.179-alpha3 | 585 | 11/19/2018 |
2.1.179-alpha2 | 548 | 11/16/2018 |
2.1.179-alpha | 560 | 11/16/2018 |
2.1.178 | 745 | 11/6/2018 |
2.1.178-beta2 | 541 | 11/6/2018 |
2.1.178-beta1 | 559 | 10/29/2018 |
2.1.178-alpha7 | 590 | 10/22/2018 |
2.1.178-alpha6 | 581 | 10/19/2018 |
2.1.178-alpha5 | 562 | 10/17/2018 |
2.1.178-alpha4 | 546 | 10/14/2018 |
2.1.178-alpha3 | 592 | 10/13/2018 |
2.1.178-alpha2 | 585 | 10/9/2018 |
2.1.178-alpha | 563 | 10/9/2018 |
2.1.177 | 747 | 9/27/2018 |
2.1.177-rc4 | 581 | 9/26/2018 |
2.1.177-rc3 | 585 | 9/26/2018 |
2.1.177-rc2 | 569 | 9/26/2018 |
2.1.177-rc1 | 572 | 9/25/2018 |
2.1.177-beta | 565 | 9/25/2018 |
2.1.177-alpha | 569 | 9/24/2018 |
2.1.176 | 729 | 9/20/2018 |
2.1.175 | 766 | 9/19/2018 |
2.1.174 | 741 | 9/16/2018 |
2.1.173 | 733 | 9/12/2018 |
2.1.173-beta | 587 | 9/12/2018 |
2.1.172 | 750 | 9/11/2018 |
2.1.171 | 765 | 8/27/2018 |
2.1.171-rc1 | 628 | 8/27/2018 |
2.1.171-beta | 612 | 8/27/2018 |
2.1.170 | 825 | 8/15/2018 |
2.1.169 | 785 | 8/14/2018 |
2.1.168 | 827 | 8/10/2018 |
2.1.167 | 860 | 8/9/2018 |
2.1.166 | 867 | 8/9/2018 |
2.1.165 | 887 | 8/9/2018 |
2.1.164 | 856 | 8/8/2018 |
2.1.163 | 799 | 8/8/2018 |
2.1.162 | 782 | 8/8/2018 |
2.1.161 | 817 | 8/8/2018 |
2.1.160 | 814 | 8/7/2018 |
2.1.159 | 829 | 8/3/2018 |
2.1.158 | 831 | 8/2/2018 |
2.1.157 | 801 | 8/1/2018 |
2.1.156 | 811 | 7/30/2018 |
2.1.155 | 791 | 7/29/2018 |
2.1.154 | 906 | 7/19/2018 |
2.1.153 | 904 | 7/12/2018 |
2.1.152 | 931 | 7/11/2018 |
2.1.151 | 878 | 7/11/2018 |
2.1.150 | 946 | 7/11/2018 |
2.1.149 | 925 | 7/10/2018 |
2.1.148 | 901 | 7/4/2018 |
2.1.147 | 881 | 7/3/2018 |
2.1.146 | 893 | 7/1/2018 |
2.1.145 | 878 | 7/1/2018 |
2.1.144 | 883 | 6/28/2018 |
2.1.143 | 802 | 6/25/2018 |
2.1.142 | 902 | 6/19/2018 |
2.1.141 | 890 | 6/19/2018 |
2.1.140 | 886 | 6/18/2018 |
2.0.149 | 964 | 7/10/2018 |
2.0.148 | 889 | 7/4/2018 |
2.0.147 | 891 | 7/3/2018 |
2.0.146 | 807 | 7/1/2018 |
2.0.145 | 900 | 7/1/2018 |
2.0.144 | 818 | 6/28/2018 |
2.0.143 | 889 | 6/25/2018 |
2.0.142 | 891 | 6/19/2018 |
2.0.141 | 825 | 6/19/2018 |
2.0.140 | 825 | 6/18/2018 |
2.0.139 | 898 | 6/18/2018 |
2.0.138 | 793 | 6/15/2018 |
2.0.137 | 900 | 6/15/2018 |
2.0.136 | 884 | 6/12/2018 |
2.0.135 | 860 | 6/11/2018 |
2.0.134 | 875 | 6/11/2018 |
2.0.133 | 811 | 6/11/2018 |
0.2.132 | 951 | 5/25/2018 |
0.2.131 | 876 | 5/21/2018 |
0.2.130 | 968 | 5/20/2018 |
0.2.129 | 826 | 5/20/2018 |
0.2.128 | 822 | 5/14/2018 |
0.2.127 | 823 | 5/11/2018 |
0.2.126 | 899 | 5/10/2018 |
0.2.125 | 878 | 5/8/2018 |
0.2.124 | 973 | 4/30/2018 |
0.2.123 | 939 | 4/29/2018 |
0.2.122 | 877 | 4/27/2018 |
0.2.121 | 825 | 4/26/2018 |
0.2.120 | 937 | 4/25/2018 |
0.2.119 | 917 | 4/25/2018 |
0.2.118 | 943 | 4/25/2018 |
0.2.117 | 910 | 4/24/2018 |
0.2.116 | 805 | 4/24/2018 |
0.2.115 | 845 | 4/19/2018 |
0.2.114 | 881 | 4/19/2018 |
0.2.113 | 915 | 4/19/2018 |
0.2.112 | 889 | 4/18/2018 |
0.2.111 | 880 | 4/18/2018 |
0.2.110 | 921 | 4/18/2018 |
0.2.109 | 880 | 4/17/2018 |
0.2.108 | 841 | 4/17/2018 |