https://github.com/microsoft/vs-streamjsonrpc
The StreamJsonRpc library offers JSON-RPC 2.0 over any .NET Stream, WebSocket, or Pipe. With bonus support for request cancellation, client proxy generation, and more.
https://github.com/microsoft/vs-streamjsonrpc
dotnet json-rpc netstandard rpc stream transport
Last synced: 1 day ago
JSON representation
The StreamJsonRpc library offers JSON-RPC 2.0 over any .NET Stream, WebSocket, or Pipe. With bonus support for request cancellation, client proxy generation, and more.
- Host: GitHub
- URL: https://github.com/microsoft/vs-streamjsonrpc
- Owner: microsoft
- License: other
- Created: 2016-10-05T14:28:02.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2025-05-07T22:32:34.000Z (7 days ago)
- Last Synced: 2025-05-12T01:38:40.660Z (3 days ago)
- Topics: dotnet, json-rpc, netstandard, rpc, stream, transport
- Language: C#
- Homepage: https://microsoft.github.io/vs-streamjsonrpc/
- Size: 7.1 MB
- Stars: 829
- Watchers: 35
- Forks: 154
- Open Issues: 52
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# vs-StreamJsonRpc
[](https://codecov.io/gh/Microsoft/vs-streamjsonrpc)
## StreamJsonRpc
[](https://www.nuget.org/packages/StreamJsonRpc)
[](https://dev.azure.com/azure-public/vside/_build/latest?definitionId=13)StreamJsonRpc is a cross-platform, .NET portable library that implements the
[JSON-RPC][JSONRPC] wire protocol.It works over [Stream](https://docs.microsoft.com/dotnet/api/system.io.stream), [WebSocket](https://docs.microsoft.com/dotnet/api/system.net.websockets.websocket), or System.IO.Pipelines pipes, independent of the underlying transport.
Bonus features beyond the JSON-RPC spec include:
1. Request cancellation
1. .NET Events as notifications
1. Dynamic client proxy generation
1. Support for [compact binary serialization](https://microsoft.github.io/vs-streamjsonrpc/docs/extensibility.html) via MessagePack
1. Pluggable architecture for custom message handling and formatting.Learn about the use cases for JSON-RPC and how to use this library from our [documentation](https://microsoft.github.io/vs-streamjsonrpc/).
[JSONRPC]: https://www.jsonrpc.org/