Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 3 months 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 (about 8 years ago)
- Default Branch: main
- Last Pushed: 2024-08-01T16:27:38.000Z (3 months ago)
- Last Synced: 2024-08-01T18:43:34.684Z (3 months ago)
- Topics: dotnet, json-rpc, netstandard, rpc, stream, transport
- Language: C#
- Homepage:
- Size: 6.4 MB
- Stars: 722
- Watchers: 39
- Forks: 147
- Open Issues: 40
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-json-rpc - 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. (Libraries)
README
# vs-StreamJsonRpc
[![codecov](https://codecov.io/gh/Microsoft/vs-streamjsonrpc/branch/main/graph/badge.svg)](https://codecov.io/gh/Microsoft/vs-streamjsonrpc)
[![Join the chat at https://gitter.im/vs-streamjsonrpc/Lobby](https://badges.gitter.im/vs-streamjsonrpc/Lobby.svg)](https://gitter.im/vs-streamjsonrpc/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)## StreamJsonRpc
[![NuGet package](https://img.shields.io/nuget/v/StreamJsonRpc.svg)](https://nuget.org/packages/StreamJsonRpc)
[![Build Status](https://dev.azure.com/azure-public/vside/_apis/build/status/vs-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](doc/extensibility.md) 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](doc/index.md).
[JSONRPC]: http://jsonrpc.org/