StreamRpc is fork of StreamJsonRpc, a cross-platform, .NET portable library that implements the [JSON-RPC][JSONRPC] wire protocol.
StreamRpc's goal is to be fast and minimize dependencies, so it uses MessagePack-CSharp as the default message serializer, removes Newtonsoft.Json entirely, and internalizes the essentials of Nerdbank.Streams and other utility libraries that StreamJsonRpc relies on, so it's small and as self-contained as possible.
It works over Stream or System.IO.Pipelines pipes, independent of the underlying transport.
Bonus features beyond the JSON-RPC spec include:
- Request cancellation
- .NET Events as notifications
- Dynamic client proxy generation
- Support for compact binary serialization (e.g. MessagePack)
Learn about the use cases for JSON-RPC and how to use this library from our documentation.
- .NET 4.7+
- .NET Core