CoreRemoting 1.2.2
See the version list below for details.
dotnet add package CoreRemoting --version 1.2.2
NuGet\Install-Package CoreRemoting -Version 1.2.2
<PackageReference Include="CoreRemoting" Version="1.2.2" />
<PackageVersion Include="CoreRemoting" Version="1.2.2" />
<PackageReference Include="CoreRemoting" />
paket add CoreRemoting --version 1.2.2
#r "nuget: CoreRemoting, 1.2.2"
#:package CoreRemoting@1.2.2
#addin nuget:?package=CoreRemoting&version=1.2.2
#tool nuget:?package=CoreRemoting&version=1.2.2
Easy to use Remoting library for .NET Core and .NET Framework
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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 was computed. 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. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .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 was computed. 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. |
-
.NETStandard 2.0
- Castle.Windsor (>= 6.0.0)
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.10)
- Microsoft.Extensions.DependencyInjection (>= 9.0.10)
- Newtonsoft.Json (>= 13.0.4)
- Newtonsoft.Json.Bson (>= 1.0.3)
- Serialize.Linq (>= 4.0.167)
- stakx.DynamicProxy.AsyncInterceptor (>= 0.1.0)
- System.Configuration.ConfigurationManager (>= 9.0.10)
- System.Data.DataSetExtensions (>= 4.5.0)
- System.Reflection.Emit.Lightweight (>= 4.7.0)
- System.Runtime.Serialization.Formatters (>= 4.3.0)
- System.Security.Cryptography.Algorithms (>= 4.3.1)
- System.Security.Cryptography.Cng (>= 5.0.0)
- System.Security.Cryptography.OpenSsl (>= 5.0.0)
- System.Security.Principal.Windows (>= 5.0.0)
- WatsonTcp (>= 6.0.10)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on CoreRemoting:
| Package | Downloads |
|---|---|
|
CoreRemoting.Authentication.WindowsAuthProvider
Windows user authentication provider for CoreRemoting |
|
|
CoreRemoting.Authentication.LinuxPamAuthProvider
Linux user authentication provider for CoreRemoting |
|
|
CoreRemoting.Authentication.GenericOsAuthProvider
Generic OS user authentication provider for CoreRemoting |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 1.2.3 | 181 | 10/26/2025 | |
| 1.2.2 | 257 | 10/15/2025 | |
| 1.2.1 | 2,377 | 11/22/2024 | |
| 1.2.0 | 5,283 | 3/20/2024 | |
| 1.1.16 | 811 | 10/12/2023 | |
| 1.1.15 | 4,611 | 6/5/2023 | |
| 1.1.14 | 120,575 | 11/30/2022 | |
| 1.1.13 | 1,542 | 1/9/2022 | |
| 1.1.12 | 730 | 11/19/2021 | |
| 1.1.11 | 656 | 11/18/2021 | |
| 1.1.10 | 624 | 11/18/2021 | |
| 1.1.9 | 700 | 10/12/2021 | |
| 1.1.8 | 653 | 10/12/2021 | |
| 1.1.7 | 1,903 | 4/6/2021 | |
| 1.1.6 | 1,345 | 4/5/2021 | |
| 1.1.5 | 1,418 | 4/1/2021 | |
| 1.1.4 | 1,488 | 3/21/2021 | |
| 1.1.3 | 1,431 | 3/7/2021 | |
| 1.1.2 | 1,379 | 3/7/2021 | |
| 1.1.1 | 1,515 | 2/12/2021 | |
| 1.1.0 | 1,366 | 2/11/2021 | |
| 1.0.0 | 721 | 1/24/2021 |
New Features and Enhancements
- Added support for LINQ expression return values in remote calls.
- Full ValueTask handling, including new unit tests.
- Introduced experimental QUIC channel (requires .NET 9.0, Windows only) with lock‑protected send/receive and a shared QuicTransport base class.
- New async primitives: AsyncCountdownEvent, AsyncManualResetEvent, AsyncReaderWriterLock, AsyncLock and AsyncDisposable helpers (based on ideas by Stephen Toub and Stephen Cleary).
- Thread‑safe BsonReferenceResolver with reference‑counting to avoid deserialization problems.
- Customizable thread‑pool for event handlers to improve remote‑event processing.
- ServiceProxy now includes ServiceInterfaceType and ServiceName properties.
- Remote event handling improvements: subscription and un‑subscription support for non‑singleton server components, plus an EventStub class ported from the Zyan Framework.
- Session and proxy utilities: ClientConfig can specify a custom proxy builder; all CreateProxy overloads now guarantee identical results.
- Authentication enhancements: new BeginCall event, server Logon/Logoff events, and earlier authentication checks in the server pipeline.
- Channel upgrades:
* WebSocketSharp moved to a dedicated project and external package dependency removed.
* New WebsocketSharpServerChannel and WebsocketSharpClientChannel classes.
* Added System‑Net‑WebSockets client channel.
* Refactored TCP handshake sequence, added configurable MaxMessageSize.
* WatsonTcp v6.0.10 now handles partial headers and disposal race conditions correctly.
- Support for processing messages larger than 2 MiB.
- DataTable serialization added with corresponding unit test.
Bug Fixes and Stability Improvements
- Fixed numerous race conditions, especially around disconnect and dispose operations in TcpClientChannel, WatsonTcpClient and RemotingClient.
- Resolved memory leaks in ClientRpcContext, the internal TCP client, and SmallMemoryStream handling.
- Improved serialization/deserialization handling for DateTimeKind, TimeSpan, BSON for common .NET types, and non‑serializable return values.
- Corrected exception propagation so remote exceptions deserialize reliably; constructors now throw RemoteInvocationException on failure.
- Fixed counter bugs that caused mismatched pending‑message counts.
- Prevented duplicate RPC calls after session disposal or when the client is disconnected.
- Fixed WebSocket thread‑safety issues on Windows for SendAsync and ReceiveAsync.
- Resolved message‑order problems in the TCP handshake (issues #55 and #148).
- Eliminated unhandled exceptions in KeepSessionAliveTimerOnElapsed and other background tasks.
- Fixed authentication failure handling: client no longer stays connected after a failed login; proper disconnect logic added.
- Cleaned up compiler warnings related to missing XML comments, unsafe Task.Result usage, and obsolete IDisposable implementations (now IAsyncDisposable).
- Updated QUIC channel removal handling and solution structure.
- Added missing unit tests for async RPC processing, event handling, DI containers, and race‑condition detection.
Performance and Code Quality Improvements
- Introduced granular lock objects and AsyncLock to reduce contention.
- Replaced wait‑handles with TaskCompletionSource‑based synchronization.
- Added locking for send/receive in QUIC and TCP channels to avoid race conditions.
- Implemented reference‑counter logic for BSON resolver, reducing garbage collection pressure.
- Added SmallBlockMemoryStream to lower allocations when handling large payloads.
- Cleaned up unreachable code, namespace indentation and duplicated warnings.
- Updated CI matrix to include Windows‑latest detection and OS matrix for Linux and Windows testing.
Documentation and Miscellaneous
- Added extensive XML comments and enabled ConfigureAwait(false) compliance checks.
- Provided release notes for many tracked issues (e.g., #92, #95, #100, #105, #108, #116, #120, #134, #141, #153, #155, #156, #163, #168, #192, #203).
- Updated CodeQL workflow to the latest version.
- Included .NET 8.0 as a separate target framework for examples and tests.