From cda02c3feb09c03cc432967029e505138d24c756 Mon Sep 17 00:00:00 2001 From: Austin Harris Date: Mon, 28 Sep 2026 01:41:40 -0600 Subject: [PATCH] AUS-1025: release 2.0.0 Version text only, per the final checklist: VersionSuffix removed and PackageReleaseNotes rewritten in the four csproj; the CHANGELOG heading is dated; the --prerelease and 2.0.0-preview.3 text is gone from the README, the package READMEs and the reference page, and the preview badge from the README header; the two "(preview.3)" markers in the Changed entries are dropped. The scripts default to 2.0.0. docs/api-surface/2.0.0.txt is the surface of the release build; it differs from the frozen 2.0.0-preview.3 file in the four informational-version lines only. --- .github/scripts/api_surface/ApiSurface.csproj | 2 +- .github/scripts/check_package_links.py | 2 +- .../AustinHarris.JsonRpc.AspNetCore.csproj | 3 +- AustinHarris.JsonRpc.AspNetCore/README.md | 2 +- .../AustinHarris.JsonRpc.Newtonsoft.csproj | 3 +- AustinHarris.JsonRpc.Newtonsoft/README.md | 2 +- ...AustinHarris.JsonRpc.SystemTextJson.csproj | 3 +- AustinHarris.JsonRpc.SystemTextJson/README.md | 2 +- CHANGELOG.md | 6 +- Json-Rpc/AustinHarris.JsonRpc.csproj | 3 +- Json-Rpc/README.md | 8 +- README.md | 10 +- docs/api-surface/2.0.0.txt | 612 ++++++++++++++++++ docs/reference.md | 4 +- 14 files changed, 634 insertions(+), 28 deletions(-) create mode 100644 docs/api-surface/2.0.0.txt diff --git a/.github/scripts/api_surface/ApiSurface.csproj b/.github/scripts/api_surface/ApiSurface.csproj index 1500202..a521ee6 100644 --- a/.github/scripts/api_surface/ApiSurface.csproj +++ b/.github/scripts/api_surface/ApiSurface.csproj @@ -4,7 +4,7 @@ net10.0 disable enable - 2.0.0-preview.3 + 2.0.0 $(NoWarn);CS0618;JSONRPC0001;JSONRPC0002;JSONRPC0003 diff --git a/.github/scripts/check_package_links.py b/.github/scripts/check_package_links.py index df91466..8cef346 100644 --- a/.github/scripts/check_package_links.py +++ b/.github/scripts/check_package_links.py @@ -8,7 +8,7 @@ Handler.UnRegisterFunction and Config.SetBeforeProcessHandler as the published assembly carries it, formats each UrlFormat with its DiagnosticId, requests the page and asserts the anchor id is in the HTML. -Usage: python3 .github/scripts/check_package_links.py 2.0.0-preview.3 [--keep] (exit 1 on any failure) +Usage: python3 .github/scripts/check_package_links.py 2.0.0 [--keep] (exit 1 on any failure) The check runs against nuget.org, so it is a release step (after the publish workflow has run and the flat container lists the version, which lags the push by a few minutes), not a pull-request gate. diff --git a/AustinHarris.JsonRpc.AspNetCore/AustinHarris.JsonRpc.AspNetCore.csproj b/AustinHarris.JsonRpc.AspNetCore/AustinHarris.JsonRpc.AspNetCore.csproj index 67c1b83..f00256a 100644 --- a/AustinHarris.JsonRpc.AspNetCore/AustinHarris.JsonRpc.AspNetCore.csproj +++ b/AustinHarris.JsonRpc.AspNetCore/AustinHarris.JsonRpc.AspNetCore.csproj @@ -6,8 +6,7 @@ Json-Rpc.Net ASP.NET Core host ASP.NET Core hosting for AustinHarris.JsonRpc. Adds HTTP endpoints and raw Kestrel connections over TCP, Unix sockets and named pipes, with dependency injection. 2.0.0 - preview.3 - 2.0.0-preview.3, released with the core package: strong-named assemblies and the error-handler change. What is new: https://astn.github.io/JSON-RPC.NET/changelog.html. Upgrading from 1.x: https://astn.github.io/JSON-RPC.NET/upgrading.html + 2.0.0, released with the core package. What is new: https://astn.github.io/JSON-RPC.NET/changelog.html. Upgrading from 1.x: https://astn.github.io/JSON-RPC.NET/upgrading.html Austin Harris https://astn.github.io/JSON-RPC.NET/aspnetcore.html https://github.com/Astn/JSON-RPC.NET diff --git a/AustinHarris.JsonRpc.AspNetCore/README.md b/AustinHarris.JsonRpc.AspNetCore/README.md index 3eb546a..dfc8175 100644 --- a/AustinHarris.JsonRpc.AspNetCore/README.md +++ b/AustinHarris.JsonRpc.AspNetCore/README.md @@ -11,7 +11,7 @@ without converting the document to a string. ## Install ```sh -dotnet add package AustinHarris.JsonRpc.AspNetCore --prerelease +dotnet add package AustinHarris.JsonRpc.AspNetCore ``` Targets `net8.0` and `net10.0`; depends on the `AustinHarris.JsonRpc` core package and the ASP.NET Core shared diff --git a/AustinHarris.JsonRpc.Newtonsoft/AustinHarris.JsonRpc.Newtonsoft.csproj b/AustinHarris.JsonRpc.Newtonsoft/AustinHarris.JsonRpc.Newtonsoft.csproj index 5fcdfd4..0f187ab 100644 --- a/AustinHarris.JsonRpc.Newtonsoft/AustinHarris.JsonRpc.Newtonsoft.csproj +++ b/AustinHarris.JsonRpc.Newtonsoft/AustinHarris.JsonRpc.Newtonsoft.csproj @@ -6,8 +6,7 @@ Json-Rpc.Net Json.NET serializer Json.NET serializer for AustinHarris.JsonRpc. Uses JsonSerializerSettings for converters, contract resolvers and lenient JSON input. 2.0.0 - preview.3 - 2.0.0-preview.3, released with the core package: strong-named assemblies and the error-handler change. What is new: https://astn.github.io/JSON-RPC.NET/changelog.html. Upgrading from 1.x: https://astn.github.io/JSON-RPC.NET/upgrading.html + 2.0.0, released with the core package. What is new: https://astn.github.io/JSON-RPC.NET/changelog.html. Upgrading from 1.x: https://astn.github.io/JSON-RPC.NET/upgrading.html Austin Harris https://astn.github.io/JSON-RPC.NET/newtonsoft.html https://github.com/Astn/JSON-RPC.NET diff --git a/AustinHarris.JsonRpc.Newtonsoft/README.md b/AustinHarris.JsonRpc.Newtonsoft/README.md index 6e5c0fd..00d2741 100644 --- a/AustinHarris.JsonRpc.Newtonsoft/README.md +++ b/AustinHarris.JsonRpc.Newtonsoft/README.md @@ -10,7 +10,7 @@ Configure parameter and result conversion with `JsonSerializerSettings`. ## Install ```sh -dotnet add package AustinHarris.JsonRpc.Newtonsoft --prerelease +dotnet add package AustinHarris.JsonRpc.Newtonsoft ``` Targets `netstandard2.0`, `netstandard2.1`, `net8.0` and `net10.0`; depends on Newtonsoft.Json 13.0.4 and the diff --git a/AustinHarris.JsonRpc.SystemTextJson/AustinHarris.JsonRpc.SystemTextJson.csproj b/AustinHarris.JsonRpc.SystemTextJson/AustinHarris.JsonRpc.SystemTextJson.csproj index b3e6866..b778e81 100644 --- a/AustinHarris.JsonRpc.SystemTextJson/AustinHarris.JsonRpc.SystemTextJson.csproj +++ b/AustinHarris.JsonRpc.SystemTextJson/AustinHarris.JsonRpc.SystemTextJson.csproj @@ -6,8 +6,7 @@ Json-Rpc.Net System.Text.Json serializer System.Text.Json serializer for AustinHarris.JsonRpc. Reads UTF-8 parameters and writes results directly to the response buffer, configured with JsonSerializerOptions. 2.0.0 - preview.3 - 2.0.0-preview.3, released with the core package: strong-named assemblies and the error-handler change. What is new: https://astn.github.io/JSON-RPC.NET/changelog.html. Upgrading from 1.x: https://astn.github.io/JSON-RPC.NET/upgrading.html + 2.0.0, released with the core package. What is new: https://astn.github.io/JSON-RPC.NET/changelog.html. Upgrading from 1.x: https://astn.github.io/JSON-RPC.NET/upgrading.html Austin Harris https://astn.github.io/JSON-RPC.NET/systemtextjson.html https://github.com/Astn/JSON-RPC.NET diff --git a/AustinHarris.JsonRpc.SystemTextJson/README.md b/AustinHarris.JsonRpc.SystemTextJson/README.md index 03d4d52..2b65ff7 100644 --- a/AustinHarris.JsonRpc.SystemTextJson/README.md +++ b/AustinHarris.JsonRpc.SystemTextJson/README.md @@ -11,7 +11,7 @@ response buffer. ## Install ```sh -dotnet add package AustinHarris.JsonRpc.SystemTextJson --prerelease +dotnet add package AustinHarris.JsonRpc.SystemTextJson ``` Targets `netstandard2.0`, `netstandard2.1`, `net8.0` and `net10.0`; depends on System.Text.Json 10.0.3 and the diff --git a/CHANGELOG.md b/CHANGELOG.md index 11acd2f..6b2fe3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ the package pages on NuGet link here. Versions follow [Semantic Versioning](https://semver.org/) for the public API and the documented wire behaviour: a breaking change to either means a new major version. -## 2.0.0 (in preview: `2.0.0-preview.3`) +## 2.0.0 (2026-09-28) ### Added @@ -34,8 +34,8 @@ behaviour: a breaking change to either means a new major version. ### Changed -- The four assemblies are strong-named (preview.3). One key, `AustinHarris.JsonRpc.snk` at the repository root, signs the packages and the friend assemblies, and stays the same from here on: changing a strong-name key changes the assembly identity. Public key token `e6819c02cf4aec44`. A signed caller can now reference the packages without CS8002, and .NET Framework loads them from a signed assembly. -- An error handler receives the exception the method threw (preview.3). Previously the library replaced an exception that had an `InnerException` with that inner exception, and promoted an inner `JsonRpcException` to the response, so a handler saw the cause instead of the error and an authored outer error lost its message. Now only the wrappers the invocation machinery adds are stripped, a `TargetInvocationException` and a single-inner `AggregateException`, on the synchronous and asynchronous paths alike; everything else, inner exception included, reaches the handler as thrown. +- The four assemblies are strong-named. One key, `AustinHarris.JsonRpc.snk` at the repository root, signs the packages and the friend assemblies, and stays the same from here on: changing a strong-name key changes the assembly identity. Public key token `e6819c02cf4aec44`. A signed caller can now reference the packages without CS8002, and .NET Framework loads them from a signed assembly. +- An error handler receives the exception the method threw. Previously the library replaced an exception that had an `InnerException` with that inner exception, and promoted an inner `JsonRpcException` to the response, so a handler saw the cause instead of the error and an authored outer error lost its message. Now only the wrappers the invocation machinery adds are stripped, a `TargetInvocationException` and a single-inner `AggregateException`, on the synchronous and asynchronous paths alike; everything else, inner exception included, reaches the handler as thrown. - `RpcMethod.FromMethod` is `RpcMethod.FromMethodInfo`; `RpcInterfaceMethod.Method` is `RpcInterfaceMethod.MethodInfo`. A `MethodInfo` is always spelled out; "method" means the JSON-RPC method. - The session parameter is spelled `sessionId` on every overload (`BindService`, `Handler.RegisterInstance` and the `JsonRpcService` constructor used `sessionID`). - `Handler.RegisterFuction` and `UnRegisterFunction` are obsolete; use `ServiceBinder.BindMethod` and `UnbindMethod` (which throw on a duplicate name instead of replacing it). diff --git a/Json-Rpc/AustinHarris.JsonRpc.csproj b/Json-Rpc/AustinHarris.JsonRpc.csproj index b6b5bfd..28513e2 100644 --- a/Json-Rpc/AustinHarris.JsonRpc.csproj +++ b/Json-Rpc/AustinHarris.JsonRpc.csproj @@ -6,7 +6,6 @@ Json-Rpc.Net Core High-throughput JSON-RPC 2.0 server library for .NET Standard 2.0 through .NET 10: UTF-8 bytes in and out, no JSON library dependency, with Json.NET, System.Text.Json and ASP.NET Core hosting as companion packages. 2.0.0 - preview.3 Austin Harris https://astn.github.io/JSON-RPC.NET/ https://github.com/Astn/JSON-RPC.NET @@ -14,7 +13,7 @@ MIT README.md json-rpc;jsonrpc;json;rpc;server;netstandard;netstandard2.0;netstandard2.1;net8.0;net10.0;kestrel;pipelines;system.text.json;json.net;fast - 2.0.0-preview.3: the four assemblies are strong-named with one key that stays fixed from here on, and an error handler now receives the exception the method threw, with its cause attached, instead of that exception's inner exception. preview.2 brought document and batch limits on by default (JsonRpcLimits), reserved method names refused at registration, InProcessClient removed, diagnostic ids on the obsolete members, and the documentation site. Since preview.1 the request pipeline is built around UTF-8 bytes, the JSON serializer is pluggable and Task and ValueTask methods are supported again, at six times the throughput of 1.2.3 through the 1.x string API and twenty-four times through the byte entry points, measured on a 32-core Hugging Face Jobs host (see the README). What is new: https://astn.github.io/JSON-RPC.NET/changelog.html. Upgrading from 1.x: https://astn.github.io/JSON-RPC.NET/upgrading.html + 2.0.0: the request pipeline is built around UTF-8 bytes (ReadOnlySequence, ReadOnlyMemory or ReadOnlySpan in, IBufferWriter out), the JSON serializer is pluggable with the built-in serializer as the default and Json.NET and System.Text.Json as packages, and Task and ValueTask methods are supported again through ProcessAsync with cooperative cancellation. Document and batch limits are on by default (JsonRpcLimits), reserved method names are refused at registration, unknown named parameters are rejected, an error handler receives the exception the method threw, and the four assemblies are strong-named with one key that stays fixed from here on. Six times the throughput of 1.2.3 through the 1.x string API and twenty-four times through the byte entry points, measured on a 32-core Hugging Face Jobs host (see the README). InProcessClient is removed; three legacy members are obsolete at warning level with diagnostic ids JSONRPC0001 to JSONRPC0003. What is new: https://astn.github.io/JSON-RPC.NET/changelog.html. Upgrading from 1.x: https://astn.github.io/JSON-RPC.NET/upgrading.html netstandard2.0;netstandard2.1;net8.0;net10.0 latest true diff --git a/Json-Rpc/README.md b/Json-Rpc/README.md index 2785daa..5f8f1c4 100644 --- a/Json-Rpc/README.md +++ b/Json-Rpc/README.md @@ -14,10 +14,8 @@ This is a server library, with no client proxies or server-to-client calls. ## Install -2.0 is a prerelease. Include `--prerelease` when installing: - ```sh -dotnet add package AustinHarris.JsonRpc --prerelease +dotnet add package AustinHarris.JsonRpc ``` Coming from 1.x? Read [What is new in 2.0](https://astn.github.io/JSON-RPC.NET/changelog.html) and [Upgrading from 1.x](https://astn.github.io/JSON-RPC.NET/upgrading.html) first. @@ -32,7 +30,7 @@ The `#:sdk` and `#:package` directives select the web SDK and package. ```csharp #:sdk Microsoft.NET.Sdk.Web -#:package AustinHarris.JsonRpc.AspNetCore@2.0.0-preview.3 +#:package AustinHarris.JsonRpc.AspNetCore@2.0.0 using AustinHarris.JsonRpc; using AustinHarris.JsonRpc.AspNetCore; @@ -59,7 +57,7 @@ curl -s -X POST http://127.0.0.1:5077/rpc -H "Content-Type: application/json" -d {"jsonrpc":"2.0","result":3.0,"id":1} ``` -On .NET 8, use the same code in `Program.cs` in an ordinary ASP.NET Core project, install with `dotnet add package AustinHarris.JsonRpc.AspNetCore --prerelease`, and drop the two `#:` lines. +On .NET 8, use the same code in `Program.cs` in an ordinary ASP.NET Core project, install with `dotnet add package AustinHarris.JsonRpc.AspNetCore`, and drop the two `#:` lines. For a service class, create `CalculatorService.cs`. Derive from `JsonRpcService` and mark exposed methods with `[JsonRpcMethod]`. diff --git a/README.md b/README.md index e9f41f0..930d2be 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # JSON-RPC.Net -![Build Master](https://github.com/Astn/JSON-RPC.NET/workflows/Build%20Master/badge.svg) ![NuGet](https://img.shields.io/nuget/v/AustinHarris.JsonRpc) ![NuGet preview](https://img.shields.io/nuget/vpre/AustinHarris.JsonRpc?label=preview) +![Build Master](https://github.com/Astn/JSON-RPC.NET/workflows/Build%20Master/badge.svg) ![NuGet](https://img.shields.io/nuget/v/AustinHarris.JsonRpc) A JSON-RPC server has a short job description: read a request, call a method, write a response. The work around that call can be considerably larger. JSON-RPC.Net 2.0 keeps the core at the document boundary: UTF-8 bytes go in, UTF-8 bytes come out, and your application chooses how they travel. The same service can sit behind Kestrel, a pipe, a socket, or a browser page. @@ -33,7 +33,7 @@ Here is a server you can put in one file. Save it as `server.cs`; the `#:` direc ```csharp #:sdk Microsoft.NET.Sdk.Web -#:package AustinHarris.JsonRpc.AspNetCore@2.0.0-preview.3 +#:package AustinHarris.JsonRpc.AspNetCore@2.0.0 using AustinHarris.JsonRpc; using AustinHarris.JsonRpc.AspNetCore; @@ -59,7 +59,7 @@ curl -s -X POST http://127.0.0.1:5077/rpc -H "Content-Type: application/json" -d {"jsonrpc":"2.0","result":3.0,"id":1} ``` -That is the whole round trip. A request without an `id` is a notification and gets no response; a batch is an array of requests and gets an array of responses, omitting notifications. On .NET 8, put the same C# code in an ASP.NET Core `Program.cs`, remove the two `#:` lines, and install `AustinHarris.JsonRpc.AspNetCore` with `--prerelease`. +That is the whole round trip. A request without an `id` is a notification and gets no response; a batch is an array of requests and gets an array of responses, omitting notifications. On .NET 8, put the same C# code in an ASP.NET Core `Program.cs`, remove the two `#:` lines, and install `AustinHarris.JsonRpc.AspNetCore`. ### Calling the core directly @@ -92,7 +92,7 @@ The core has no JSON-library dependency. Its built-in serializer is the default; | `AustinHarris.JsonRpc.Newtonsoft` | Json.NET settings, converters, attributes or lenient input. | | `AustinHarris.JsonRpc.SystemTextJson` | System.Text.Json options and converters. | -2.0 is currently `2.0.0-preview.3`. For an existing project, install the core with `dotnet add package AustinHarris.JsonRpc --prerelease`, then add the serializer or ASP.NET Core package you need. Without `--prerelease`, NuGet selects the last 1.x release. +For an existing project, install the core with `dotnet add package AustinHarris.JsonRpc`, then add the serializer or ASP.NET Core package you need. ## Defining methods @@ -391,7 +391,7 @@ Most 1.x services run unchanged. [Upgrading from 1.x](docs/upgrading.md) lists t ## Versioning and support -The four 2.x packages are released together at one version; use matching versions. Public API and documented wire behavior follow [Semantic Versioning](https://semver.org/). There is no fixed release cadence. Previews such as `2.0.0-preview.N` are tested but may change API before the stable release; 1.x receives no further releases. +The four 2.x packages are released together at one version; use matching versions. Public API and documented wire behavior follow [Semantic Versioning](https://semver.org/). There is no fixed release cadence. A preview (`2.0.0-preview.N`) is tested but may change API before the stable release it precedes; 1.x receives no further releases. Obsolete members warn with a `JSONRPC0xxx` diagnostic and a link to the [replacement](docs/obsoletions.md). They remain warnings through 2.x and are removed in the next major version. [CHANGELOG.md](CHANGELOG.md) records changes. Report vulnerabilities privately through [SECURITY.md](SECURITY.md); use [GitHub issues](https://github.com/Astn/JSON-RPC.NET/issues) for questions and bugs. diff --git a/docs/api-surface/2.0.0.txt b/docs/api-surface/2.0.0.txt new file mode 100644 index 0000000..621c87a --- /dev/null +++ b/docs/api-surface/2.0.0.txt @@ -0,0 +1,612 @@ +## AustinHarris.JsonRpc 2.0.0.0 PublicKeyToken=e6819c02cf4aec44 + informational=2.0.0 +static class AustinHarris.JsonRpc.Config + public method static System.Void SetBeforeProcessHandler(System.String sessionId, AustinHarris.JsonRpc.PreProcessHandler handler) + public method static System.Void SetErrorHandler(System.Func handler) + public method static System.Void SetErrorHandler(System.String sessionId, System.Func handler) + public method static System.Void SetLimits(AustinHarris.JsonRpc.JsonRpcLimits limits) + public method static System.Void SetLimits(System.String sessionId, AustinHarris.JsonRpc.JsonRpcLimits limits) + public method static System.Void SetParseErrorHandler(System.Func handler) + public method static System.Void SetParseErrorHandler(System.String sessionId, System.Func handler) + public method static System.Void SetPostProcessHandler(AustinHarris.JsonRpc.PostProcessHandler handler) + public method static System.Void SetPostProcessHandler(System.String sessionId, AustinHarris.JsonRpc.PostProcessHandler handler) + public method static System.Void SetPreProcessHandler(AustinHarris.JsonRpc.PreProcessHandler handler) + public method static System.Void SetPreProcessHandler(System.String sessionId, AustinHarris.JsonRpc.PreProcessHandler handler) + public method static System.Void SetSerializer(AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer) + public method static System.Void SetSerializer(System.String sessionId, AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer) + public method static System.Void SetVersionPolicy(System.String sessionId, System.Nullable policy) + public property AustinHarris.JsonRpc.JsonRpcLimits Limits { get; } + public property AustinHarris.JsonRpc.JsonRpcVersionPolicy VersionPolicy { get; set; } + public property AustinHarris.JsonRpc.Serialization.JsonRpcSerializer Serializer { get; set; } + public property System.Boolean IncludeExceptionDetails { get; set; } +sealed class AustinHarris.JsonRpc.Handler + public method AustinHarris.JsonRpc.JsonResponse Handle(AustinHarris.JsonRpc.JsonRequest Rpc, System.Object RpcContext = null) + public method System.Void Destroy() + public method System.Void RegisterFuction(System.String methodName, System.Collections.Generic.Dictionary parameterNameTypeMapping, System.Collections.Generic.Dictionary parameterNameDefaultValueMapping, System.Delegate implementation) + public method System.Void SetPostProcessHandler(AustinHarris.JsonRpc.PostProcessHandler handler) + public method System.Void SetPreProcessHandler(AustinHarris.JsonRpc.PreProcessHandler handler) + public method System.Void UnRegisterFunction(System.String methodName) + public method static AustinHarris.JsonRpc.Handler GetSessionHandler() + public method static AustinHarris.JsonRpc.Handler GetSessionHandler(System.String sessionId) + public method static AustinHarris.JsonRpc.JsonRpcException RpcGetAndRemoveRpcException() + public method static AustinHarris.JsonRpc.JsonRpcRequestId RpcRequestId() + public method static AustinHarris.JsonRpc.Serialization.JsonRpcIdKind RpcRequestIdKind() + public method static System.Object RpcContext() + public method static System.ReadOnlySpan RpcRequestIdRaw() + public method static System.String DefaultSessionId() + public method static System.Void DestroySession(System.String sessionId) + public method static System.Void RegisterInstance(System.String sessionId, System.Object instance) + public method static System.Void RpcSetException(AustinHarris.JsonRpc.JsonRpcException exception) + public property AustinHarris.JsonRpc.Handler DefaultHandler { get; } + public property AustinHarris.JsonRpc.JsonRpcLimits Limits { get; set; } + public property AustinHarris.JsonRpc.SMD MetaData { get; set; } + public property AustinHarris.JsonRpc.Serialization.JsonRpcSerializer Serializer { get; set; } + public property System.Nullable VersionPolicy { get; set; } + public property System.String SessionId { get; } +delegate AustinHarris.JsonRpc.Invocation.BoxedInvoker : System.ICloneable, System.Runtime.Serialization.ISerializable + public ctor BoxedInvoker(System.Object object, System.IntPtr method) + public method virtual System.IAsyncResult BeginInvoke(AustinHarris.JsonRpc.Serialization.JsonRpcRequestReader reader, System.Int32[] map, System.AsyncCallback callback, System.Object object) + public method virtual System.Object EndInvoke(System.IAsyncResult result) + public method virtual System.Object Invoke(AustinHarris.JsonRpc.Serialization.JsonRpcRequestReader reader, System.Int32[] map) +sealed class AustinHarris.JsonRpc.Invocation.RpcMethod + public ctor RpcMethod() + public method static AustinHarris.JsonRpc.Invocation.RpcMethod FromDelegate(System.String name, System.Delegate implementation, System.String[] parameterNames = null, System.Collections.Generic.IDictionary defaults = null, AustinHarris.JsonRpc.RpcContextFlow contextFlow = None) + public method static AustinHarris.JsonRpc.Invocation.RpcMethod FromDelegate(System.String name, System.Delegate implementation, System.String[] parameterNames, System.Collections.Generic.IDictionary defaults) + public method static AustinHarris.JsonRpc.Invocation.RpcMethod FromMethodInfo(System.String name, System.Reflection.MethodInfo method, System.Object target, System.String[] parameterNames = null, AustinHarris.JsonRpc.RpcContextFlow contextFlow = None) + public method static AustinHarris.JsonRpc.Invocation.RpcMethod FromMethodInfo(System.String name, System.Reflection.MethodInfo method, System.Object target, System.String[] parameterNames) + public method static AustinHarris.JsonRpc.Invocation.RpcMethod FromMethodInfo(System.String name, System.Reflection.MethodInfo method, System.Type serviceType, System.Func resolve, System.String[] parameterNames = null, AustinHarris.JsonRpc.RpcContextFlow contextFlow = None) + public property AustinHarris.JsonRpc.Invocation.BoxedInvoker InvokeBoxed { get; } + public property AustinHarris.JsonRpc.Invocation.RpcParameter[] Parameters { get; } + public property AustinHarris.JsonRpc.Invocation.StreamingInvoker Invoke { get; } + public property AustinHarris.JsonRpc.RpcContextFlow ContextFlow { get; } + public property System.Boolean ExpectsRefException { get; } + public property System.Boolean IsAsync { get; } + public property System.Int32 DefaultCount { get; } + public property System.String Name { get; } + public property System.Type ResultType { get; } + public property System.Type ReturnType { get; } +sealed class AustinHarris.JsonRpc.Invocation.RpcParameter + public property System.Boolean HasDefault { get; } + public property System.Object DefaultValue { get; } + public property System.String Name { get; } + public property System.Type Type { get; } +delegate AustinHarris.JsonRpc.Invocation.StreamingInvoker : System.ICloneable, System.Runtime.Serialization.ISerializable + public ctor StreamingInvoker(System.Object object, System.IntPtr method) + public method virtual System.IAsyncResult BeginInvoke(AustinHarris.JsonRpc.Serialization.JsonRpcRequestReader reader, System.Int32[] map, AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer, System.Buffers.IBufferWriter output, System.AsyncCallback callback, System.Object object) + public method virtual System.Void EndInvoke(System.IAsyncResult result) + public method virtual System.Void Invoke(AustinHarris.JsonRpc.Serialization.JsonRpcRequestReader reader, System.Int32[] map, AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer, System.Buffers.IBufferWriter output) +struct AustinHarris.JsonRpc.Jsmn.JsmnCursor + public ctor JsmnCursor(System.ReadOnlySpan doc, AustinHarris.JsonRpc.Jsmn.JsmnToken[] tokens, System.Int32 index) + public field AustinHarris.JsonRpc.Jsmn.JsmnToken[] Tokens + public field System.Int32 Index + public field System.ReadOnlySpan Doc + public method System.Int32 Next() + public property System.Boolean IsNull { get; } + public property System.ReadOnlySpan Text { get; } + public property ref AustinHarris.JsonRpc.Jsmn.JsmnToken Token { get; } +static class AustinHarris.JsonRpc.Jsmn.JsmnMapper + public method static System.Boolean ReadBoolean(ref AustinHarris.JsonRpc.Jsmn.JsmnCursor c) + public method static System.Char ReadChar(ref AustinHarris.JsonRpc.Jsmn.JsmnCursor c) + public method static System.DateTime ReadDateTime(ref AustinHarris.JsonRpc.Jsmn.JsmnCursor c) + public method static System.Decimal ReadDecimal(ref AustinHarris.JsonRpc.Jsmn.JsmnCursor c) + public method static System.Double ReadDouble(ref AustinHarris.JsonRpc.Jsmn.JsmnCursor c) + public method static System.Int32 ReadInt32(ref AustinHarris.JsonRpc.Jsmn.JsmnCursor c) + public method static System.Int64 ReadInt64(ref AustinHarris.JsonRpc.Jsmn.JsmnCursor c) + public method static System.Object ReadObject(ref AustinHarris.JsonRpc.Jsmn.JsmnCursor c, System.Type type) + public method static System.Single ReadSingle(ref AustinHarris.JsonRpc.Jsmn.JsmnCursor c) + public method static System.String ReadString(ref AustinHarris.JsonRpc.Jsmn.JsmnCursor c) + public method static System.UInt64 ReadUInt64(ref AustinHarris.JsonRpc.Jsmn.JsmnCursor c) + public method static System.Void WriteObject(System.Buffers.IBufferWriter w, System.Object value, System.Type declaredType, System.Int32 depth) +static class AustinHarris.JsonRpc.Jsmn.JsmnReader`1 + public field static readonly AustinHarris.JsonRpc.Jsmn.JsmnTokenReader Read +sealed class AustinHarris.JsonRpc.Jsmn.JsmnRequestReader : AustinHarris.JsonRpc.Serialization.JsonRpcRequestReader + public ctor JsmnRequestReader(AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer) + public method virtual System.Boolean ParamIsNull(System.Int32 i) + public method virtual System.Boolean Select(System.Int32 index) + public method virtual System.Boolean TryParse(System.ReadOnlyMemory utf8Document, out ref System.String error) + public method virtual System.Object ReadParam(System.Int32 i, System.Type type) + public method virtual System.ReadOnlySpan ParamNameUtf8(System.Int32 i) + public method virtual System.ReadOnlySpan ParamRaw(System.Int32 i) + public method virtual System.Void Release() + public method virtual T ReadParam(System.Int32 i) + public property AustinHarris.JsonRpc.Jsmn.JsmnTokenizer Tokenizer { get; } + public property AustinHarris.JsonRpc.Serialization.JsonRpcIdKind IdKind { get; } + public property AustinHarris.JsonRpc.Serialization.JsonRpcParamsKind ParamsKind { get; } + public property AustinHarris.JsonRpc.Serialization.JsonRpcVersionKind VersionKind { get; } + public property System.Boolean HasMethod { get; } + public property System.Boolean IsBatch { get; } + public property System.Int32 Count { get; } + public property System.Int32 ParamCount { get; } + public property System.Object IdValue { get; } + public property System.Object ParamsValue { get; } + public property System.ReadOnlyMemory Document { get; } + public property System.ReadOnlySpan IdRaw { get; } + public property System.ReadOnlySpan MethodUtf8 { get; } + public property System.String Method { get; } +sealed class AustinHarris.JsonRpc.Jsmn.JsmnSerializer : AustinHarris.JsonRpc.Serialization.JsonRpcSerializer + public ctor JsmnSerializer() + public ctor JsmnSerializer(System.Boolean lenient) + public ctor JsmnSerializer(System.Boolean lenient, System.Int32 maxDepth) + public field static readonly AustinHarris.JsonRpc.Jsmn.JsmnSerializer Instance + public method virtual System.Object Read(System.ReadOnlySpan utf8Json, System.Type type) + public method virtual System.Void Write(System.Buffers.IBufferWriter output, System.Object value, System.Type type) + public method virtual System.Void Write(System.Buffers.IBufferWriter output, T value) + public method virtual T Read(System.ReadOnlySpan utf8Json) + public property System.Boolean Lenient { get; } + public property System.Int32 MaxDepth { get; } + public property System.String Name { get; } +struct AustinHarris.JsonRpc.Jsmn.JsmnToken + public field AustinHarris.JsonRpc.Jsmn.JsmnType Type + public field System.Boolean Escaped + public field System.Boolean IsKey + public field System.Int32 End + public field System.Int32 Parent + public field System.Int32 Size + public field System.Int32 Start +delegate AustinHarris.JsonRpc.Jsmn.JsmnTokenReader`1 : System.ICloneable, System.Runtime.Serialization.ISerializable + public ctor JsmnTokenReader`1(System.Object object, System.IntPtr method) + public method virtual System.IAsyncResult BeginInvoke(ref AustinHarris.JsonRpc.Jsmn.JsmnCursor cursor, System.AsyncCallback callback, System.Object object) + public method virtual T EndInvoke(ref AustinHarris.JsonRpc.Jsmn.JsmnCursor cursor, System.IAsyncResult result) + public method virtual T Invoke(ref AustinHarris.JsonRpc.Jsmn.JsmnCursor cursor) +sealed class AustinHarris.JsonRpc.Jsmn.JsmnTokenizer + public ctor JsmnTokenizer() + public field System.Boolean Lenient + public field static const System.Int32 DefaultMaxDepth + public field static const System.Int32 ErrorDepth + public field static const System.Int32 ErrorInvalid + public field static const System.Int32 ErrorNoMemory + public field static const System.Int32 ErrorPartial + public method System.Int32 Parse(System.ReadOnlySpan js) + public method System.Int32 Skip(System.Int32 index) + public method System.Void Release() + public method static System.Boolean IsNull(System.ReadOnlySpan js, in ref AustinHarris.JsonRpc.Jsmn.JsmnToken tok) + public method static System.ReadOnlySpan RawJson(System.ReadOnlySpan js, in ref AustinHarris.JsonRpc.Jsmn.JsmnToken tok) + public method static System.ReadOnlySpan Slice(System.ReadOnlySpan js, in ref AustinHarris.JsonRpc.Jsmn.JsmnToken tok) + public property AustinHarris.JsonRpc.Jsmn.JsmnToken[] Tokens { get; } + public property System.Int32 MaxDepth { get; set; } + public property System.Int32 Position { get; } + public property System.Int32 TokenCount { get; } +enum AustinHarris.JsonRpc.Jsmn.JsmnType : System.IComparable, System.IConvertible, System.IFormattable, System.ISpanFormattable + Undefined = 0 + Object = 1 + Array = 2 + String = 3 + Primitive = 4 +static class AustinHarris.JsonRpc.Jsmn.JsmnWriter`1 + public field static readonly System.Action, T> Write +class AustinHarris.JsonRpc.JsonRequest + public ctor JsonRequest() + public ctor JsonRequest(System.String method, System.Object pars, System.Object id) + public property System.Object Id { get; set; } + public property System.Object Params { get; set; } + public property System.String JsonRpc { get; } + public property System.String Method { get; set; } +class AustinHarris.JsonRpc.JsonResponse + public ctor JsonResponse() + public property AustinHarris.JsonRpc.JsonRpcException Error { get; set; } + public property System.Object Id { get; set; } + public property System.Object Result { get; set; } + public property System.String JsonRpc { get; set; } +class AustinHarris.JsonRpc.JsonResponse`1 + public ctor JsonResponse`1() + public property AustinHarris.JsonRpc.JsonRpcException Error { get; set; } + public property System.Object Id { get; set; } + public property System.String JsonRpc { get; set; } + public property T Result { get; set; } +sealed class AustinHarris.JsonRpc.JsonRpcCancellationAttribute : System.Attribute + public ctor JsonRpcCancellationAttribute() +sealed class AustinHarris.JsonRpc.JsonRpcContext + public method static AustinHarris.JsonRpc.JsonRpcContext Current() + public method static AustinHarris.JsonRpc.JsonRpcRequestId CurrentRequestId() + public method static System.Void SetException(AustinHarris.JsonRpc.JsonRpcException exception) + public property System.Object Value { get; } +class AustinHarris.JsonRpc.JsonRpcException : System.ApplicationException, System.Runtime.Serialization.ISerializable + public ctor JsonRpcException(System.Int32 code, System.String message, System.Object data) + public property System.Int32 code { get; set; } + public property System.Object data { get; set; } + public property System.String message { get; set; } +sealed class AustinHarris.JsonRpc.JsonRpcLimits + public ctor JsonRpcLimits(System.Int64 maxDocumentBytes = 4194304, System.Int32 maxBatchCount = 1024) + public property AustinHarris.JsonRpc.JsonRpcLimits Default { get; } + public property AustinHarris.JsonRpc.JsonRpcLimits Unlimited { get; } + public property System.Int32 MaxBatchCount { get; } + public property System.Int64 MaxDocumentBytes { get; } +sealed class AustinHarris.JsonRpc.JsonRpcMethodAttribute : System.Attribute + public ctor JsonRpcMethodAttribute(System.String jsonMethodName = ) + public property AustinHarris.JsonRpc.RpcContextFlow ContextFlow { get; set; } + public property System.String JsonMethodName { get; } +sealed class AustinHarris.JsonRpc.JsonRpcParamAttribute : System.Attribute + public ctor JsonRpcParamAttribute(System.String jsonParamName = ) + public property System.String JsonParamName { get; } +static class AustinHarris.JsonRpc.JsonRpcProcessor + public method static System.Byte[] ProcessBytes(System.String sessionId, System.ReadOnlySpan request, System.Object context = null, AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer = null) + public method static System.String ProcessSync(AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer, System.String jsonRpc, System.Object context = null) + public method static System.String ProcessSync(System.String jsonRpc, System.Object context = null) + public method static System.String ProcessSync(System.String sessionId, System.String jsonRpc, System.Object jsonRpcContext, AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer = null) + public method static System.Threading.Tasks.Task ProcessAsync(System.String sessionId, System.Buffers.ReadOnlySequence request, System.Buffers.IBufferWriter output, System.Object context = null, AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer = null, System.Threading.CancellationToken cancellationToken = null) + public method static System.Threading.Tasks.Task ProcessAsync(System.String sessionId, System.ReadOnlyMemory request, System.Buffers.IBufferWriter output, System.Object context = null, AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer = null, System.Threading.CancellationToken cancellationToken = null) + public method static System.Threading.Tasks.Task ProcessAsync(System.String sessionId, System.ReadOnlySpan request, System.Buffers.IBufferWriter output, System.Object context = null, AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer = null, System.Threading.CancellationToken cancellationToken = null) + public method static System.Threading.Tasks.Task Process(AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer, System.String jsonRpc, System.Object context = null) + public method static System.Threading.Tasks.Task Process(System.String jsonRpc, System.Object context = null) + public method static System.Threading.Tasks.Task Process(System.String sessionId, System.String jsonRpc, System.Object context = null, AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer = null) + public method static System.Threading.Tasks.Task ProcessAsync(System.String jsonRpc, System.Object context = null, System.Threading.CancellationToken cancellationToken = null) + public method static System.Threading.Tasks.Task ProcessAsync(System.String sessionId, System.String jsonRpc, System.Object context = null, AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer = null, System.Threading.CancellationToken cancellationToken = null) + public method static System.Void Process(AustinHarris.JsonRpc.JsonRpcStateAsync async, System.Object context = null, AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer = null) + public method static System.Void Process(System.String sessionId, AustinHarris.JsonRpc.JsonRpcStateAsync async, System.Object context = null, AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer = null) + public method static System.Void Process(System.String sessionId, System.ReadOnlyMemory request, System.Buffers.IBufferWriter output, System.Object context = null, AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer = null) + public method static System.Void Process(System.String sessionId, System.ReadOnlySpan request, System.Buffers.IBufferWriter output, System.Object context = null, AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer = null) + public method static System.Void Process(System.String sessionId, in ref System.Buffers.ReadOnlySequence request, System.Buffers.IBufferWriter output, System.Object context = null, AustinHarris.JsonRpc.Serialization.JsonRpcSerializer serializer = null) +struct AustinHarris.JsonRpc.JsonRpcRequestId : System.IEquatable`1[[AustinHarris.JsonRpc.JsonRpcRequestId, AustinHarris.JsonRpc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=e6819c02cf4aec44]] + public method System.Boolean Equals(AustinHarris.JsonRpc.JsonRpcRequestId other) + public method System.Boolean TryGetInt64(out ref System.Int64 value) + public method System.Object ToObject() + public method System.String GetIntegerText() + public method System.String GetString() + public method System.Void WriteTo(System.Buffers.IBufferWriter output) + public method static AustinHarris.JsonRpc.JsonRpcRequestId FromInt64(System.Int64 value) + public method static AustinHarris.JsonRpc.JsonRpcRequestId FromObject(System.Object id) + public method static AustinHarris.JsonRpc.JsonRpcRequestId FromRaw(System.ReadOnlySpan raw) + public method static AustinHarris.JsonRpc.JsonRpcRequestId FromString(System.String value) + public method virtual System.Boolean Equals(System.Object obj) + public method virtual System.Int32 GetHashCode() + public method virtual System.String ToString() + public property AustinHarris.JsonRpc.JsonRpcRequestId Absent { get; } + public property AustinHarris.JsonRpc.JsonRpcRequestId Null { get; } + public property AustinHarris.JsonRpc.Serialization.JsonRpcIdKind Kind { get; } + public property System.Boolean IsAbsent { get; } + public property System.Boolean IsInteger { get; } + public property System.Boolean IsNull { get; } + public property System.Boolean IsString { get; } +abstract class AustinHarris.JsonRpc.JsonRpcService + protected ctor JsonRpcService() + protected ctor JsonRpcService(System.Boolean autoBind) + protected ctor JsonRpcService(System.String sessionId) +class AustinHarris.JsonRpc.JsonRpcStateAsync : System.IAsyncResult + public ctor JsonRpcStateAsync(System.AsyncCallback cb, System.Object extraData) + public property System.Boolean CompletedSynchronously { get; } + public property System.Boolean IsCompleted { get; } + public property System.Object AsyncState { get; } + public property System.String JsonRpc { get; set; } + public property System.String Result { get; set; } + public property System.Threading.WaitHandle AsyncWaitHandle { get; } +enum AustinHarris.JsonRpc.JsonRpcVersionPolicy : System.IComparable, System.IConvertible, System.IFormattable, System.ISpanFormattable + Lenient = 0 + Ignore = 1 + Strict = 2 +class AustinHarris.JsonRpc.ParameterDefaultValue + public ctor ParameterDefaultValue(System.String name, System.Object value) + public property System.Object Value { get; } + public property System.String Name { get; } +delegate AustinHarris.JsonRpc.PostProcessHandler : System.ICloneable, System.Runtime.Serialization.ISerializable + public ctor PostProcessHandler(System.Object object, System.IntPtr method) + public method virtual AustinHarris.JsonRpc.JsonRpcException EndInvoke(System.IAsyncResult result) + public method virtual AustinHarris.JsonRpc.JsonRpcException Invoke(AustinHarris.JsonRpc.JsonRequest request, AustinHarris.JsonRpc.JsonResponse response, System.Object context) + public method virtual System.IAsyncResult BeginInvoke(AustinHarris.JsonRpc.JsonRequest request, AustinHarris.JsonRpc.JsonResponse response, System.Object context, System.AsyncCallback callback, System.Object object) +delegate AustinHarris.JsonRpc.PreProcessHandler : System.ICloneable, System.Runtime.Serialization.ISerializable + public ctor PreProcessHandler(System.Object object, System.IntPtr method) + public method virtual AustinHarris.JsonRpc.JsonRpcException EndInvoke(System.IAsyncResult result) + public method virtual AustinHarris.JsonRpc.JsonRpcException Invoke(AustinHarris.JsonRpc.JsonRequest request, System.Object context) + public method virtual System.IAsyncResult BeginInvoke(AustinHarris.JsonRpc.JsonRequest request, System.Object context, System.AsyncCallback callback, System.Object object) +sealed class AustinHarris.JsonRpc.RpcBinding : System.IDisposable + public method System.Void Dispose() + public property System.Collections.Generic.IReadOnlyList Methods { get; } + public property System.String SessionId { get; } +enum AustinHarris.JsonRpc.RpcContextFlow : System.IComparable, System.IConvertible, System.IFormattable, System.ISpanFormattable + None = 0 + Flow = 1 +sealed class AustinHarris.JsonRpc.RpcInterfaceBindingOptions + public ctor RpcInterfaceBindingOptions() + public property AustinHarris.JsonRpc.RpcNameCasing Casing { get; set; } + public property System.Boolean Recursive { get; set; } + public property System.Func Include { get; set; } + public property System.Func NameRule { get; set; } + public property System.String Prefix { get; set; } + public property System.String Separator { get; set; } +sealed class AustinHarris.JsonRpc.RpcInterfaceMethod + public property System.Reflection.MethodInfo MethodInfo { get; } + public property System.String DefaultName { get; } + public property System.String Leaf { get; } + public property System.String[] Path { get; } + public property System.Type Interface { get; } +enum AustinHarris.JsonRpc.RpcNameCasing : System.IComparable, System.IConvertible, System.IFormattable, System.ISpanFormattable + Preserve = 0 + CamelCase = 1 +class AustinHarris.JsonRpc.SMD + public ctor SMD() + public method static System.Boolean ContainsType(System.Collections.Generic.Dictionary jo) + public method static System.Int32 AddType(System.Collections.Generic.Dictionary jo) + public property AustinHarris.JsonRpc.SMDAdditionalParameters[] parameters { get; set; } + public property AustinHarris.JsonRpc.SMDServiceCollection Services { get; } + public property System.Boolean additonalParameters { get; set; } + public property System.Collections.Generic.Dictionary> Types { get; } + public property System.String envelope { get; set; } + public property System.String target { get; set; } + public property System.String transport { get; set; } +class AustinHarris.JsonRpc.SMDAdditionalParameters + public ctor SMDAdditionalParameters(System.String parametername, System.Type type) + public property System.Int32 Type { get; set; } + public property System.Int32 __type { get; } + public property System.String Name { get; set; } + public property System.String __name { get; } + public property System.Type ObjectType { get; set; } +class AustinHarris.JsonRpc.SMDResult + public ctor SMDResult(System.Type type) + public property System.Int32 Type { get; } + public property System.Int32 __type { get; } +class AustinHarris.JsonRpc.SMDService + public ctor SMDService(System.String transport, System.String envelope, System.Collections.Generic.Dictionary parameters, System.Collections.Generic.Dictionary defaultValues, System.Delegate dele) + public field System.Delegate dele + public property AustinHarris.JsonRpc.Invocation.RpcMethod Method { get; } + public property AustinHarris.JsonRpc.ParameterDefaultValue[] defaultValues { get; } + public property AustinHarris.JsonRpc.SMDAdditionalParameters[] parameters { get; } + public property AustinHarris.JsonRpc.SMDResult returns { get; } + public property System.String envelope { get; } + public property System.String transport { get; } +sealed class AustinHarris.JsonRpc.SMDServiceCollection : System.Collections.Generic.ICollection`1[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[AustinHarris.JsonRpc.SMDService, AustinHarris.JsonRpc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=e6819c02cf4aec44]], System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.IDictionary`2[[System.String, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[AustinHarris.JsonRpc.SMDService, AustinHarris.JsonRpc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=e6819c02cf4aec44]], System.Collections.Generic.IEnumerable`1[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[AustinHarris.JsonRpc.SMDService, AustinHarris.JsonRpc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=e6819c02cf4aec44]], System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.IReadOnlyCollection`1[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[AustinHarris.JsonRpc.SMDService, AustinHarris.JsonRpc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=e6819c02cf4aec44]], System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.Generic.IReadOnlyDictionary`2[[System.String, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[AustinHarris.JsonRpc.SMDService, AustinHarris.JsonRpc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=e6819c02cf4aec44]], System.Collections.IEnumerable + public ctor SMDServiceCollection() + public method System.Boolean Contains(System.Collections.Generic.KeyValuePair item) + public method System.Boolean ContainsKey(System.String key) + public method System.Boolean Remove(System.Collections.Generic.KeyValuePair item) + public method System.Boolean Remove(System.String key) + public method System.Boolean TryGetValue(System.String key, out ref AustinHarris.JsonRpc.SMDService value) + public method System.Collections.Generic.IEnumerator> GetEnumerator() + public method System.Void Add(System.Collections.Generic.KeyValuePair item) + public method System.Void Add(System.String key, AustinHarris.JsonRpc.SMDService value) + public method System.Void Clear() + public method System.Void CopyTo(System.Collections.Generic.KeyValuePair[] array, System.Int32 arrayIndex) + public property AustinHarris.JsonRpc.SMDService Item[System.String key] { get; set; } + public property System.Boolean IsReadOnly { get; } + public property System.Collections.Generic.ICollection Values { get; } + public property System.Collections.Generic.ICollection Keys { get; } + public property System.Int32 Count { get; } +sealed class AustinHarris.JsonRpc.Serialization.ExceptionInfo + public ctor ExceptionInfo() + public method static AustinHarris.JsonRpc.Serialization.ExceptionInfo ForResponse(System.Exception ex) + public method static AustinHarris.JsonRpc.Serialization.ExceptionInfo From(System.Exception ex) + public method static AustinHarris.JsonRpc.Serialization.ExceptionInfo From(System.Exception ex, System.Boolean includeDetails) + public property AustinHarris.JsonRpc.Serialization.ExceptionInfo InnerException { get; set; } + public property System.Int32 HResult { get; set; } + public property System.String ClassName { get; set; } + public property System.String Message { get; set; } + public property System.String Source { get; set; } + public property System.String StackTraceString { get; set; } +static class AustinHarris.JsonRpc.Serialization.JsonFramer + public method static System.Boolean TryReadDocument(ref System.Buffers.ReadOnlySequence buffer, out ref System.Buffers.ReadOnlySequence document) + public method static System.Int32 FindDocumentEnd(System.ReadOnlySpan buffer) +class AustinHarris.JsonRpc.Serialization.JsonRpcBindException : System.Exception, System.Runtime.Serialization.ISerializable + public ctor JsonRpcBindException(System.String message) + public ctor JsonRpcBindException(System.String message, System.Exception inner) +enum AustinHarris.JsonRpc.Serialization.JsonRpcIdKind : System.IComparable, System.IConvertible, System.IFormattable, System.ISpanFormattable + Absent = 0 + Null = 1 + Integer = 2 + String = 3 + Invalid = 4 +enum AustinHarris.JsonRpc.Serialization.JsonRpcParamsKind : System.IComparable, System.IConvertible, System.IFormattable, System.ISpanFormattable + Absent = 0 + Array = 1 + Object = 2 + Invalid = 3 +abstract class AustinHarris.JsonRpc.Serialization.JsonRpcRequestReader + protected ctor JsonRpcRequestReader() + public method abstract System.Boolean ParamIsNull(System.Int32 i) + public method abstract System.Boolean Select(System.Int32 index) + public method abstract System.Boolean TryParse(System.ReadOnlyMemory utf8Document, out ref System.String error) + public method abstract System.Object ReadParam(System.Int32 i, System.Type type) + public method abstract System.ReadOnlySpan ParamNameUtf8(System.Int32 i) + public method abstract System.ReadOnlySpan ParamRaw(System.Int32 i) + public method abstract System.Void Release() + public method abstract T ReadParam(System.Int32 i) + public property AustinHarris.JsonRpc.Serialization.JsonRpcIdKind IdKind { get; } + public property AustinHarris.JsonRpc.Serialization.JsonRpcParamsKind ParamsKind { get; } + public property AustinHarris.JsonRpc.Serialization.JsonRpcVersionKind VersionKind { get; } + public property System.Boolean HasMethod { get; } + public property System.Boolean IsBatch { get; } + public property System.Int32 Count { get; } + public property System.Int32 ParamCount { get; } + public property System.Object IdValue { get; } + public property System.Object ParamsValue { get; } + public property System.ReadOnlyMemory Document { get; } + public property System.ReadOnlySpan IdRaw { get; } + public property System.ReadOnlySpan MethodUtf8 { get; } + public property System.String Method { get; } +abstract class AustinHarris.JsonRpc.Serialization.JsonRpcSerializer + protected ctor JsonRpcSerializer() + public method System.Object Deserialize(System.String json, System.Type type) + public method System.String Serialize(System.Object value, System.Type type) + public method System.String Serialize(T value) + public method T Deserialize(System.String json) + public method abstract System.Object Read(System.ReadOnlySpan utf8Json, System.Type type) + public method abstract System.Void Write(System.Buffers.IBufferWriter output, System.Object value, System.Type type) + public method abstract System.Void Write(System.Buffers.IBufferWriter output, T value) + public method abstract T Read(System.ReadOnlySpan utf8Json) + public method virtual AustinHarris.JsonRpc.Serialization.JsonRpcRequestReader CreateReader() + public property System.Boolean Lenient { get; } + public property System.Int32 MaxDepth { get; } + public property System.String Name { get; } +enum AustinHarris.JsonRpc.Serialization.JsonRpcVersionKind : System.IComparable, System.IConvertible, System.IFormattable, System.ISpanFormattable + Absent = 0 + V2 = 1 + Other = 2 +sealed class AustinHarris.JsonRpc.Serialization.LimitExceededInfo + public ctor LimitExceededInfo(System.String limit, System.Int64 maximum) + public method System.Void WriteTo(System.Buffers.IBufferWriter output) + public property System.Int64 Maximum { get; } + public property System.String Limit { get; } +sealed class AustinHarris.JsonRpc.Serialization.MethodNotFoundInfo + public ctor MethodNotFoundInfo(System.String method) + public method System.Void WriteTo(System.Buffers.IBufferWriter output) + public method virtual System.String ToString() + public property System.String Method { get; } +sealed class AustinHarris.JsonRpc.Serialization.ParameterErrorInfo + public ctor ParameterErrorInfo(AustinHarris.JsonRpc.Invocation.RpcParameter parameter, System.Int32 index, System.Exception cause) + public ctor ParameterErrorInfo(System.String parameter, System.Int32 index, System.Type expectedType, System.Exception cause) + public method System.Void WriteTo(System.Buffers.IBufferWriter output) + public method static System.Boolean IsConversionFailure(System.Exception cause) + public method static System.String Describe(System.Type type) + public method virtual System.String ToString() + public property System.Exception Cause { get; } + public property System.Int32 Index { get; } + public property System.String ExpectedType { get; } + public property System.String Message { get; } + public property System.String Parameter { get; } + public property System.String Reason { get; } +sealed class AustinHarris.JsonRpc.Serialization.PooledByteBufferWriter : System.Buffers.IBufferWriter`1[[System.Byte, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.IDisposable + public ctor PooledByteBufferWriter(System.Int32 initialCapacity = 4096) + public method System.Byte[] ToArray() + public method System.Memory GetMemory(System.Int32 sizeHint = 0) + public method System.Span GetSpan(System.Int32 sizeHint = 0) + public method System.Void Advance(System.Int32 count) + public method System.Void Clear() + public method System.Void CopyTo(System.Buffers.IBufferWriter destination) + public method System.Void Dispose() + public method System.Void RemoveAt(System.Int32 position) + public method System.Void Rewind(System.Int32 position) + public method System.Void Write(System.Byte b) + public method System.Void Write(System.ReadOnlySpan bytes) + public method virtual System.String ToString() + public property System.ArraySegment WrittenSegment { get; } + public property System.Int32 WrittenCount { get; } + public property System.ReadOnlyMemory WrittenMemory { get; } + public property System.ReadOnlySpan WrittenSpan { get; } +static class AustinHarris.JsonRpc.Serialization.Utf8Json + public field static const System.Int32 MaxDateTimeLength + public field static const System.String NaNText + public field static const System.String NegativeInfinityText + public field static const System.String PositiveInfinityText + public method static AustinHarris.JsonRpc.Serialization.JsonRpcIdKind ClassifyId(System.ReadOnlySpan raw) + public method static System.Boolean EqualsIgnoreAsciiCase(System.ReadOnlySpan a, System.ReadOnlySpan b) + public method static System.Boolean TryParseNonFinite(System.ReadOnlySpan text, out ref System.Double value) + public method static System.Boolean TryParseNonFinite(System.String text, out ref System.Double value) + public method static System.Int32 FormatDateTime(System.Span dest, System.DateTime value) + public method static System.Int32 FormatDateTimeOffset(System.Span dest, System.DateTimeOffset value) + public method static System.Int32 Hash(System.ReadOnlySpan bytes) + public method static System.Int32 Unescape(System.ReadOnlySpan contents, System.Span dest) + public method static System.Object IdToObject(System.ReadOnlySpan raw, AustinHarris.JsonRpc.Serialization.JsonRpcIdKind kind) + public method static System.String DecodeString(System.ReadOnlySpan contents) + public method static System.String NonFiniteText(System.Double value) + public method static System.String ToStringUtf8(System.ReadOnlySpan utf8) + public method static System.Void WriteAscii(System.Buffers.IBufferWriter w, System.ReadOnlySpan chars) + public method static System.Void WriteBool(AustinHarris.JsonRpc.Serialization.PooledByteBufferWriter w, System.Boolean value) + public method static System.Void WriteBool(System.Buffers.IBufferWriter w, System.Boolean value) + public method static System.Void WriteByte(System.Buffers.IBufferWriter w, System.Byte b) + public method static System.Void WriteChar(System.Buffers.IBufferWriter w, System.Char value) + public method static System.Void WriteDateTime(System.Buffers.IBufferWriter w, System.DateTime value) + public method static System.Void WriteDateTimeOffset(System.Buffers.IBufferWriter w, System.DateTimeOffset value) + public method static System.Void WriteDecimal(AustinHarris.JsonRpc.Serialization.PooledByteBufferWriter w, System.Decimal value) + public method static System.Void WriteDecimal(System.Buffers.IBufferWriter w, System.Decimal value) + public method static System.Void WriteDouble(AustinHarris.JsonRpc.Serialization.PooledByteBufferWriter w, System.Double value) + public method static System.Void WriteDouble(System.Buffers.IBufferWriter w, System.Double value) + public method static System.Void WriteId(System.Buffers.IBufferWriter w, System.Object id) + public method static System.Void WriteInt64(AustinHarris.JsonRpc.Serialization.PooledByteBufferWriter w, System.Int64 value) + public method static System.Void WriteInt64(System.Buffers.IBufferWriter w, System.Int64 value) + public method static System.Void WriteNull(AustinHarris.JsonRpc.Serialization.PooledByteBufferWriter w) + public method static System.Void WriteNull(System.Buffers.IBufferWriter w) + public method static System.Void WritePropertyName(System.Buffers.IBufferWriter w, System.String name) + public method static System.Void WriteQuotedAscii(System.Buffers.IBufferWriter w, System.String text) + public method static System.Void WriteRaw(System.Buffers.IBufferWriter w, System.ReadOnlySpan raw) + public method static System.Void WriteSingle(AustinHarris.JsonRpc.Serialization.PooledByteBufferWriter w, System.Single value) + public method static System.Void WriteSingle(System.Buffers.IBufferWriter w, System.Single value) + public method static System.Void WriteString(AustinHarris.JsonRpc.Serialization.PooledByteBufferWriter w, System.String value) + public method static System.Void WriteString(System.Buffers.IBufferWriter w, System.ReadOnlySpan value) + public method static System.Void WriteString(System.Buffers.IBufferWriter w, System.String value) + public method static System.Void WriteUInt64(System.Buffers.IBufferWriter w, System.UInt64 value) +static class AustinHarris.JsonRpc.ServiceBinder + public method static AustinHarris.JsonRpc.RpcBinding BindInterface(System.String sessionId, TInterface implementation, AustinHarris.JsonRpc.RpcInterfaceBindingOptions options = null) + public method static AustinHarris.JsonRpc.RpcBinding BindInterface(TInterface implementation, AustinHarris.JsonRpc.RpcInterfaceBindingOptions options = null) + public method static System.Boolean UnbindMethod(System.String name) + public method static System.Boolean UnbindMethod(System.String sessionId, System.String name) + public method static System.Void BindMethod(System.String name, System.Delegate implementation, System.String[] parameterNames = null, System.Collections.Generic.IDictionary defaults = null, AustinHarris.JsonRpc.RpcContextFlow contextFlow = None) + public method static System.Void BindMethod(System.String name, System.Delegate implementation, System.String[] parameterNames, System.Collections.Generic.IDictionary defaults) + public method static System.Void BindMethod(System.String sessionId, System.String name, System.Delegate implementation, System.String[] parameterNames = null, System.Collections.Generic.IDictionary defaults = null, AustinHarris.JsonRpc.RpcContextFlow contextFlow = None) + public method static System.Void BindMethod(System.String sessionId, System.String name, System.Delegate implementation, System.String[] parameterNames, System.Collections.Generic.IDictionary defaults) + public method static System.Void BindService(System.String sessionId, System.Object instance) + public method static System.Void BindService(System.String sessionId, System.Type serviceType, System.Func resolve) + public method static System.Void BindService() + public method static System.Void BindService(System.String sessionId) +## AustinHarris.JsonRpc.AspNetCore 2.0.0.0 PublicKeyToken=e6819c02cf4aec44 + informational=2.0.0 +class AustinHarris.JsonRpc.AspNetCore.JsonRpcConnectionHandler : Microsoft.AspNetCore.Connections.ConnectionHandler + public ctor JsonRpcConnectionHandler(Microsoft.Extensions.Options.IOptions options, System.IServiceProvider services = null) + public method virtual System.Threading.Tasks.Task OnConnectedAsync(Microsoft.AspNetCore.Connections.ConnectionContext connection) +static class AustinHarris.JsonRpc.AspNetCore.JsonRpcEndpoint + public method static System.Threading.Tasks.Task HandleAsync(Microsoft.AspNetCore.Http.HttpContext http, AustinHarris.JsonRpc.AspNetCore.JsonRpcOptions options) +class AustinHarris.JsonRpc.AspNetCore.JsonRpcOptions + public ctor JsonRpcOptions() + public property AustinHarris.JsonRpc.Serialization.JsonRpcSerializer Serializer { get; set; } + public property System.Boolean EnableAsyncMethods { get; set; } + public property System.Boolean NoContentForNotifications { get; set; } + public property System.Func ContextFactory { get; set; } + public property System.Func SessionSelector { get; set; } + public property System.Func ServiceProviderSelector { get; set; } + public property System.Int64 MaxRequestBytes { get; set; } + public property System.String ResponseContentType { get; set; } + public property System.String SessionId { get; set; } +static class AustinHarris.JsonRpc.AspNetCore.JsonRpcServiceCollectionExtensions + public method static Microsoft.AspNetCore.Builder.IEndpointConventionBuilder MapJsonRpc(Microsoft.AspNetCore.Routing.IEndpointRouteBuilder endpoints, System.String pattern = /jsonrpc, AustinHarris.JsonRpc.AspNetCore.JsonRpcOptions options = null) + public method static Microsoft.Extensions.DependencyInjection.IServiceCollection AddJsonRpc(Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configure = null) + public method static Microsoft.Extensions.DependencyInjection.IServiceCollection AddJsonRpcService(Microsoft.Extensions.DependencyInjection.IServiceCollection services, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime, System.String sessionId = null) + public method static Microsoft.Extensions.DependencyInjection.IServiceCollection AddJsonRpcService(Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.String sessionId = null) + public method static Microsoft.Extensions.DependencyInjection.IServiceCollection AddJsonRpcServicesFromAssembly(Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Reflection.Assembly assembly, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime, System.String sessionId = null) + public method static Microsoft.Extensions.DependencyInjection.IServiceCollection AddJsonRpcServicesFromAssembly(Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Reflection.Assembly assembly, System.String sessionId = null) +## AustinHarris.JsonRpc.SystemTextJson 2.0.0.0 PublicKeyToken=e6819c02cf4aec44 + informational=2.0.0 +sealed class AustinHarris.JsonRpc.SystemTextJson.JsonRpcBooleanConverter : System.Text.Json.Serialization.JsonConverter`1[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]] + public ctor JsonRpcBooleanConverter() + public method virtual System.Boolean Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options) + public method virtual System.Void Write(System.Text.Json.Utf8JsonWriter writer, System.Boolean value, System.Text.Json.JsonSerializerOptions options) +sealed class AustinHarris.JsonRpc.SystemTextJson.JsonRpcCharConverter : System.Text.Json.Serialization.JsonConverter`1[[System.Char, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]] + public ctor JsonRpcCharConverter() + public method virtual System.Char Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options) + public method virtual System.Void Write(System.Text.Json.Utf8JsonWriter writer, System.Char value, System.Text.Json.JsonSerializerOptions options) +static class AustinHarris.JsonRpc.SystemTextJson.JsonRpcConverters + public method static System.Boolean ContainsAll(System.Text.Json.JsonSerializerOptions options) + public method static System.Collections.Generic.IEnumerable Create() + public method static System.Void AddMissing(System.Text.Json.JsonSerializerOptions options) +sealed class AustinHarris.JsonRpc.SystemTextJson.JsonRpcDateTimeConverter : System.Text.Json.Serialization.JsonConverter`1[[System.DateTime, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]] + public ctor JsonRpcDateTimeConverter() + public method virtual System.DateTime Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options) + public method virtual System.Void Write(System.Text.Json.Utf8JsonWriter writer, System.DateTime value, System.Text.Json.JsonSerializerOptions options) +sealed class AustinHarris.JsonRpc.SystemTextJson.JsonRpcDateTimeOffsetConverter : System.Text.Json.Serialization.JsonConverter`1[[System.DateTimeOffset, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]] + public ctor JsonRpcDateTimeOffsetConverter() + public method virtual System.DateTimeOffset Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options) + public method virtual System.Void Write(System.Text.Json.Utf8JsonWriter writer, System.DateTimeOffset value, System.Text.Json.JsonSerializerOptions options) +sealed class AustinHarris.JsonRpc.SystemTextJson.JsonRpcNumberConverterFactory : System.Text.Json.Serialization.JsonConverterFactory + public ctor JsonRpcNumberConverterFactory() + public method virtual System.Boolean CanConvert(System.Type typeToConvert) + public method virtual System.Text.Json.Serialization.JsonConverter CreateConverter(System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options) +sealed class AustinHarris.JsonRpc.SystemTextJson.SystemTextJsonRpcSerializer : AustinHarris.JsonRpc.Serialization.JsonRpcSerializer + public ctor SystemTextJsonRpcSerializer() + public ctor SystemTextJsonRpcSerializer(System.Text.Json.JsonSerializerOptions options) + public method static System.Text.Json.JsonSerializerOptions CreateDefaultOptions() + public method virtual System.Object Read(System.ReadOnlySpan utf8Json, System.Type type) + public method virtual System.Void Write(System.Buffers.IBufferWriter output, System.Object value, System.Type type) + public method virtual System.Void Write(System.Buffers.IBufferWriter output, T value) + public method virtual T Read(System.ReadOnlySpan utf8Json) + public property System.Int32 MaxDepth { get; } + public property System.String Name { get; } + public property System.Text.Json.JsonSerializerOptions DefaultOptions { get; } + public property System.Text.Json.JsonSerializerOptions EffectiveOptions { get; } + public property System.Text.Json.JsonSerializerOptions Options { get; } +## AustinHarris.JsonRpc.Newtonsoft 2.0.0.0 PublicKeyToken=e6819c02cf4aec44 + informational=2.0.0 +static class AustinHarris.JsonRpc.Newtonsoft.NewtonsoftJsonRpc + public method static AustinHarris.JsonRpc.Newtonsoft.NewtonsoftJsonRpcSerializer SerializerFor(Newtonsoft.Json.JsonSerializerSettings settings) + public method static System.String ProcessSync(System.String jsonRpc, System.Object context, Newtonsoft.Json.JsonSerializerSettings settings) + public method static System.String ProcessSync(System.String sessionId, System.String jsonRpc, System.Object context, Newtonsoft.Json.JsonSerializerSettings settings) + public method static System.Threading.Tasks.Task Process(System.String jsonRpc, System.Object context, Newtonsoft.Json.JsonSerializerSettings settings) + public method static System.Threading.Tasks.Task Process(System.String sessionId, System.String jsonRpc, System.Object context, Newtonsoft.Json.JsonSerializerSettings settings) + public method static System.Void Process(AustinHarris.JsonRpc.JsonRpcStateAsync async, System.Object context, Newtonsoft.Json.JsonSerializerSettings settings) + public method static System.Void Process(System.String sessionId, AustinHarris.JsonRpc.JsonRpcStateAsync async, System.Object context, Newtonsoft.Json.JsonSerializerSettings settings) +sealed class AustinHarris.JsonRpc.Newtonsoft.NewtonsoftJsonRpcSerializer : AustinHarris.JsonRpc.Serialization.JsonRpcSerializer + public ctor NewtonsoftJsonRpcSerializer() + public ctor NewtonsoftJsonRpcSerializer(Newtonsoft.Json.JsonSerializerSettings settings) + public method virtual System.Object Read(System.ReadOnlySpan utf8Json, System.Type type) + public method virtual System.Void Write(System.Buffers.IBufferWriter output, System.Object value, System.Type type) + public method virtual System.Void Write(System.Buffers.IBufferWriter output, T value) + public method virtual T Read(System.ReadOnlySpan utf8Json) + public property Newtonsoft.Json.JsonSerializer Serializer { get; } + public property Newtonsoft.Json.JsonSerializerSettings Settings { get; } + public property System.Boolean Lenient { get; } + public property System.Int32 MaxDepth { get; } + public property System.String Name { get; } diff --git a/docs/reference.md b/docs/reference.md index 7f8429d..6dd6ffc 100644 --- a/docs/reference.md +++ b/docs/reference.md @@ -35,10 +35,10 @@ The core uses no reflection emit. The WebAssembly sample runs under the configur ## Installation ``` -dotnet add package AustinHarris.JsonRpc --prerelease +dotnet add package AustinHarris.JsonRpc ``` -2.0 is published as `2.0.0-preview.3`; without `--prerelease`, NuGet resolves to the last 1.x release. The four assemblies are strong-named with one key (public key token `e6819c02cf4aec44`) that is checked into the repository and does not change between releases, so a signed caller can reference them and .NET Framework loads them. +The four assemblies are strong-named with one key (public key token `e6819c02cf4aec44`) that is checked into the repository and does not change between releases, so a signed caller can reference them and .NET Framework loads them. The packages are not annotated for trimming or Native AOT: a project that sets `IsAotCompatible` or `PublishTrimmed` gets trim warnings from the reflection binder, and a trimmed application can lose the methods it binds. Hosts with that constraint wait for the source generator planned for 2.8; see [Versioning and support](../README.md#versioning-and-support).