TWCore 3.1.0
dotnet add package TWCore --version 3.1.0
NuGet\Install-Package TWCore -Version 3.1.0
<PackageReference Include="TWCore" Version="3.1.0" />
paket add TWCore --version 3.1.0
#r "nuget: TWCore, 3.1.0"
// Install TWCore as a Cake Addin
#addin nuget:?package=TWCore&version=3.1.0
// Install TWCore as a Cake Tool
#tool nuget:?package=TWCore&version=3.1.0
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 |
Created by Tony Redondo
Powered By
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-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.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
- Newtonsoft.Json (>= 13.0.3)
- System.Threading.Channels (>= 4.7.1)
-
.NETCoreApp 2.2
- Newtonsoft.Json (>= 13.0.3)
- System.Threading.Channels (>= 4.7.1)
-
.NETCoreApp 3.1
- Newtonsoft.Json (>= 13.0.3)
- System.Threading.Channels (>= 4.7.1)
-
.NETFramework 4.7.2
- Microsoft.NETFramework.ReferenceAssemblies (>= 1.0.3)
- Newtonsoft.Json (>= 13.0.3)
- System.Memory (>= 4.5.5)
- System.Threading.Channels (>= 4.5.0)
-
.NETStandard 2.0
- Newtonsoft.Json (>= 13.0.3)
- System.Memory (>= 4.5.5)
- System.Threading.Channels (>= 4.5.0)
-
net5.0
- Newtonsoft.Json (>= 13.0.3)
-
net6.0
- Newtonsoft.Json (>= 13.0.3)
-
net7.0
- Newtonsoft.Json (>= 13.0.3)
-
net8.0
- Newtonsoft.Json (>= 13.0.3)
NuGet packages (36)
Showing the top 5 NuGet packages that depend on TWCore:
Package | Downloads |
---|---|
TWCore.Data
TWCore Framework. A multipurpose framework library for .net core |
|
TWCore.Net.Rpc
TWCore Framework. A multipurpose framework library for .net core |
|
TWCore.Messaging
TWCore Framework. A multipurpose framework library for .net core |
|
TWCore.Bot
TWCore Framework. A multipurpose framework library for .net core |
|
TWCore.Cache
TWCore Framework. A multipurpose framework library for .net core |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.1.0 | 663 | 10/22/2023 |
3.1.0-beta2 | 338 | 10/20/2023 |
3.1.0-beta1 | 333 | 10/19/2023 |
3.0.0-beta5 | 2,755 | 9/8/2019 |
3.0.0-beta4 | 2,575 | 9/8/2019 |
3.0.0-beta3 | 2,607 | 8/20/2019 |
3.0.0-beta2 | 2,562 | 8/18/2019 |
3.0.0-beta1 | 2,579 | 8/18/2019 |
2.1.181 | 8,035 | 7/24/2019 |
2.1.181-beta5 | 2,903 | 7/16/2019 |
2.1.181-beta4 | 3,123 | 5/10/2019 |
2.1.181-beta3 | 3,133 | 3/16/2019 |
2.1.181-beta2 | 3,044 | 3/8/2019 |
2.1.181-beta | 3,051 | 3/3/2019 |
2.1.180 | 7,306 | 3/1/2019 |
2.1.180-rc1 | 3,048 | 2/28/2019 |
2.1.180-beta9 | 3,049 | 2/14/2019 |
2.1.180-beta8 | 3,132 | 2/14/2019 |
2.1.180-beta7 | 3,063 | 2/8/2019 |
2.1.180-beta6 | 3,059 | 2/7/2019 |
2.1.180-beta5 | 3,152 | 2/6/2019 |
2.1.180-beta4 | 3,155 | 2/5/2019 |
2.1.180-beta3 | 3,116 | 2/4/2019 |
2.1.180-beta2 | 3,232 | 2/4/2019 |
2.1.180-beta1 | 3,157 | 2/4/2019 |
2.1.180-alpha8 | 2,996 | 1/30/2019 |
2.1.180-alpha7 | 3,178 | 1/22/2019 |
2.1.180-alpha6 | 3,155 | 1/21/2019 |
2.1.180-alpha5 | 3,121 | 1/18/2019 |
2.1.180-alpha4 | 3,178 | 1/17/2019 |
2.1.180-alpha3 | 3,199 | 1/16/2019 |
2.1.180-alpha2 | 3,125 | 1/16/2019 |
2.1.180-alpha1 | 3,141 | 1/15/2019 |
2.1.179 | 7,271 | 1/9/2019 |
2.1.179-beta9 | 3,139 | 1/3/2019 |
2.1.179-beta8 | 3,173 | 1/2/2019 |
2.1.179-beta7 | 3,189 | 1/2/2019 |
2.1.179-beta6 | 3,157 | 12/21/2018 |
2.1.179-beta5 | 3,078 | 12/19/2018 |
2.1.179-beta4 | 3,070 | 12/19/2018 |
2.1.179-beta3 | 3,154 | 12/19/2018 |
2.1.179-beta2 | 3,138 | 12/18/2018 |
2.1.179-beta12 | 3,139 | 1/8/2019 |
2.1.179-beta11 | 3,127 | 1/7/2019 |
2.1.179-beta10 | 3,105 | 1/4/2019 |
2.1.179-beta1 | 3,067 | 12/18/2018 |
2.1.179-alpha9 | 3,171 | 12/18/2018 |
2.1.179-alpha8 | 3,082 | 11/28/2018 |
2.1.179-alpha7 | 3,127 | 11/22/2018 |
2.1.179-alpha6 | 3,189 | 11/20/2018 |
2.1.179-alpha5 | 3,062 | 11/20/2018 |
2.1.179-alpha4 | 3,119 | 11/20/2018 |
2.1.179-alpha3 | 3,130 | 11/19/2018 |
2.1.179-alpha2 | 3,078 | 11/16/2018 |
2.1.179-alpha | 3,063 | 11/16/2018 |
2.1.178 | 7,238 | 11/6/2018 |
2.1.178-beta2 | 3,056 | 11/6/2018 |
2.1.178-beta1 | 3,076 | 10/29/2018 |
2.1.178-alpha7 | 3,111 | 10/22/2018 |
2.1.178-alpha6 | 3,104 | 10/19/2018 |
2.1.178-alpha5 | 3,038 | 10/17/2018 |
2.1.178-alpha4 | 3,077 | 10/14/2018 |
2.1.178-alpha3 | 3,137 | 10/13/2018 |
2.1.178-alpha2 | 3,179 | 10/9/2018 |
2.1.178-alpha | 3,091 | 10/9/2018 |
2.1.177 | 6,982 | 9/27/2018 |
2.1.177-rc4 | 2,963 | 9/26/2018 |
2.1.177-rc3 | 3,005 | 9/26/2018 |
2.1.177-rc2 | 2,908 | 9/26/2018 |
2.1.177-rc1 | 2,897 | 9/25/2018 |
2.1.177-beta | 2,960 | 9/25/2018 |
2.1.177-alpha | 2,910 | 9/24/2018 |
2.1.176 | 5,649 | 9/20/2018 |
2.1.175 | 5,509 | 9/19/2018 |
2.1.174 | 5,494 | 9/16/2018 |
2.1.173 | 5,546 | 9/12/2018 |
2.1.173-beta | 2,393 | 9/12/2018 |
2.1.172 | 5,833 | 9/11/2018 |
2.1.171 | 5,790 | 8/27/2018 |
2.1.171-rc1 | 2,450 | 8/27/2018 |
2.1.171-beta | 2,440 | 8/27/2018 |
2.1.170 | 5,802 | 8/15/2018 |
2.1.169 | 5,697 | 8/14/2018 |
2.1.168 | 5,788 | 8/10/2018 |
2.1.167 | 5,789 | 8/9/2018 |
2.1.166 | 5,930 | 8/9/2018 |
2.1.165 | 5,886 | 8/9/2018 |
2.1.164 | 5,836 | 8/8/2018 |
2.1.163 | 5,798 | 8/8/2018 |
2.1.162 | 5,951 | 8/8/2018 |
2.1.161 | 6,058 | 8/8/2018 |
2.1.160 | 6,023 | 8/7/2018 |
2.1.159 | 5,844 | 8/3/2018 |
2.1.158 | 5,863 | 8/2/2018 |
2.1.157 | 5,840 | 8/1/2018 |
2.1.156 | 5,898 | 7/30/2018 |
2.1.155 | 5,854 | 7/29/2018 |
2.1.154 | 5,587 | 7/19/2018 |
2.1.153 | 5,831 | 7/12/2018 |
2.1.152 | 5,646 | 7/11/2018 |
2.1.151 | 5,774 | 7/11/2018 |
2.1.150 | 5,696 | 7/11/2018 |
2.1.149 | 5,712 | 7/10/2018 |
2.1.148 | 5,825 | 7/4/2018 |
2.1.147 | 5,665 | 7/3/2018 |
2.1.146 | 5,527 | 7/1/2018 |
2.1.145 | 5,603 | 7/1/2018 |
2.1.144 | 5,624 | 6/28/2018 |
2.1.143 | 5,745 | 6/25/2018 |
2.1.142 | 5,937 | 6/19/2018 |
2.1.141 | 5,922 | 6/19/2018 |
2.1.140 | 5,870 | 6/18/2018 |
2.0.149 | 6,873 | 7/10/2018 |
2.0.148 | 6,785 | 7/4/2018 |
2.0.147 | 6,870 | 7/3/2018 |
2.0.146 | 6,945 | 7/1/2018 |
2.0.145 | 6,948 | 7/1/2018 |
2.0.144 | 6,729 | 6/28/2018 |
2.0.143 | 6,826 | 6/25/2018 |
2.0.142 | 6,891 | 6/19/2018 |
2.0.141 | 6,969 | 6/19/2018 |
2.0.140 | 6,864 | 6/18/2018 |
2.0.139 | 6,774 | 6/18/2018 |
2.0.138 | 6,904 | 6/15/2018 |
2.0.137 | 6,875 | 6/15/2018 |
2.0.136 | 6,921 | 6/12/2018 |
2.0.135 | 6,861 | 6/11/2018 |
2.0.134 | 6,659 | 6/11/2018 |
2.0.133 | 6,758 | 6/11/2018 |
0.2.132 | 6,732 | 5/25/2018 |
0.2.131 | 6,893 | 5/21/2018 |
0.2.130 | 6,821 | 5/20/2018 |
0.2.129 | 6,782 | 5/20/2018 |
0.2.128 | 6,579 | 5/14/2018 |
0.2.127 | 6,717 | 5/11/2018 |
0.2.126 | 6,846 | 5/10/2018 |
0.2.125 | 6,880 | 5/8/2018 |
0.2.124 | 6,973 | 4/30/2018 |
0.2.123 | 6,830 | 4/29/2018 |
0.2.122 | 6,864 | 4/27/2018 |
0.2.121 | 6,563 | 4/26/2018 |
0.2.120 | 6,585 | 4/25/2018 |
0.2.119 | 6,723 | 4/25/2018 |
0.2.118 | 6,789 | 4/25/2018 |
0.2.117 | 6,649 | 4/24/2018 |
0.2.116 | 6,622 | 4/24/2018 |
0.2.115 | 6,765 | 4/19/2018 |
0.2.114 | 6,639 | 4/19/2018 |
0.2.113 | 6,585 | 4/19/2018 |
0.2.112 | 6,461 | 4/18/2018 |
0.2.111 | 6,551 | 4/18/2018 |
0.2.110 | 6,463 | 4/18/2018 |
0.2.109 | 6,504 | 4/17/2018 |
0.2.108 | 6,587 | 4/17/2018 |
0.2.107 | 6,788 | 4/9/2018 |
0.2.106 | 6,641 | 4/6/2018 |
0.2.105 | 6,551 | 4/3/2018 |
0.2.104 | 6,741 | 4/2/2018 |
0.2.103 | 6,616 | 3/28/2018 |
0.2.102 | 6,543 | 3/28/2018 |
0.2.101 | 6,506 | 3/28/2018 |
0.2.100 | 6,514 | 3/27/2018 |
0.2.99 | 6,742 | 3/24/2018 |
0.2.98 | 6,682 | 3/23/2018 |
0.2.97 | 6,491 | 3/19/2018 |
0.2.96 | 6,666 | 3/16/2018 |
0.2.95 | 6,448 | 3/15/2018 |
0.2.94 | 6,543 | 3/13/2018 |
0.2.93 | 6,460 | 3/12/2018 |
0.2.92 | 6,464 | 3/12/2018 |
0.2.91 | 6,504 | 3/12/2018 |
0.2.90 | 6,570 | 3/11/2018 |
0.2.89 | 6,612 | 3/6/2018 |
0.2.88 | 6,624 | 3/2/2018 |
0.2.87 | 6,472 | 3/1/2018 |
0.2.86 | 6,527 | 2/28/2018 |
0.2.85 | 6,654 | 2/28/2018 |
0.2.84 | 6,326 | 2/28/2018 |
0.2.83 | 6,602 | 2/27/2018 |
0.2.82 | 6,275 | 2/26/2018 |
0.2.81 | 6,363 | 2/23/2018 |
0.2.80 | 6,598 | 2/22/2018 |
0.2.79 | 6,264 | 2/21/2018 |
0.2.78 | 6,478 | 2/16/2018 |
0.2.77 | 6,556 | 2/14/2018 |
0.2.76 | 6,600 | 2/14/2018 |
0.2.75 | 6,501 | 2/9/2018 |
0.2.74 | 6,709 | 2/9/2018 |
0.2.73 | 6,570 | 2/1/2018 |
0.2.72 | 6,478 | 1/31/2018 |
0.2.71 | 6,616 | 1/30/2018 |
0.2.70 | 6,416 | 1/29/2018 |
0.2.69 | 6,404 | 1/26/2018 |
0.2.68 | 6,583 | 1/23/2018 |
0.2.67 | 6,593 | 1/22/2018 |
0.2.66 | 6,509 | 1/22/2018 |
0.2.65 | 6,562 | 1/19/2018 |
0.2.64 | 6,427 | 1/17/2018 |
0.2.63 | 6,478 | 1/16/2018 |
0.2.62 | 6,642 | 1/15/2018 |
0.2.61 | 6,569 | 12/18/2017 |
0.2.60 | 6,576 | 12/6/2017 |
0.2.59 | 6,518 | 12/5/2017 |
0.2.58 | 6,420 | 12/4/2017 |
0.2.57 | 6,629 | 12/1/2017 |
0.2.56 | 6,680 | 11/30/2017 |
0.2.55 | 6,299 | 11/28/2017 |
0.2.54 | 6,348 | 11/28/2017 |
0.2.53 | 6,419 | 11/28/2017 |
0.2.52 | 6,438 | 11/26/2017 |
0.2.51 | 6,527 | 11/24/2017 |
0.2.50 | 6,495 | 11/23/2017 |
0.2.49 | 6,289 | 11/17/2017 |
0.2.48 | 6,298 | 11/17/2017 |
0.2.47 | 6,230 | 11/16/2017 |
0.2.46 | 6,317 | 11/15/2017 |
0.2.45 | 6,092 | 11/13/2017 |
0.2.44 | 5,988 | 11/7/2017 |
0.2.43 | 6,103 | 11/7/2017 |
0.2.42 | 6,082 | 11/6/2017 |
0.2.41 | 6,105 | 10/31/2017 |
0.2.40 | 6,090 | 10/31/2017 |
0.2.39 | 6,106 | 10/26/2017 |
0.2.38 | 6,263 | 10/26/2017 |
0.2.37 | 6,228 | 10/25/2017 |
0.2.36 | 5,999 | 10/23/2017 |
0.2.35 | 6,206 | 10/20/2017 |
0.2.34 | 6,139 | 10/13/2017 |
0.2.33 | 6,094 | 10/10/2017 |
0.2.32 | 6,222 | 10/9/2017 |
0.2.31 | 6,022 | 10/7/2017 |
0.2.30 | 6,079 | 10/6/2017 |
0.2.29 | 5,722 | 9/29/2017 |
0.2.28 | 5,775 | 9/27/2017 |
0.2.27 | 5,745 | 9/25/2017 |
0.2.26 | 5,910 | 9/22/2017 |
0.2.25 | 5,704 | 9/20/2017 |
0.2.24 | 5,828 | 9/19/2017 |
0.2.23 | 5,696 | 9/13/2017 |
0.2.22 | 5,505 | 9/13/2017 |
0.2.21 | 5,580 | 9/13/2017 |
0.2.20 | 5,719 | 9/13/2017 |
0.2.19 | 5,606 | 9/12/2017 |
0.2.18 | 5,418 | 9/12/2017 |
0.2.17 | 5,527 | 9/11/2017 |
0.2.16 | 5,490 | 9/11/2017 |
0.2.15 | 5,611 | 9/8/2017 |
0.2.14 | 963 | 9/8/2017 |
0.2.13 | 1,579 | 9/8/2017 |
0.2.12 | 934 | 9/8/2017 |
0.2.11 | 1,130 | 9/8/2017 |
0.2.10 | 5,798 | 9/8/2017 |
0.2.9 | 5,720 | 8/29/2017 |
0.2.8 | 5,991 | 8/29/2017 |
0.2.7 | 5,963 | 8/29/2017 |
0.2.6 | 5,839 | 8/25/2017 |
0.2.5 | 5,821 | 8/16/2017 |
0.2.1-alpha | 2,721 | 8/16/2017 |
0.2.0-alpha | 2,225 | 8/7/2017 |
0.1.5 | 1,487 | 4/5/2017 |
0.1.4 | 1,465 | 4/5/2017 |
0.1.3 | 2,335 | 4/5/2017 |
0.1.2 | 1,778 | 4/5/2017 |
0.1.1 | 1,786 | 3/26/2017 |
0.1.0 | 6,237 | 3/25/2017 |