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: 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.

Awesome Lists containing this project

README

        

# vs-StreamJsonRpc

[![codecov](https://codecov.io/gh/Microsoft/vs-streamjsonrpc/branch/main/graph/badge.svg)](https://codecov.io/gh/Microsoft/vs-streamjsonrpc)

## StreamJsonRpc

[![NuGet package](https://img.shields.io/nuget/v/StreamJsonRpc.svg)](https://www.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](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/