ServiceJsonRpcDescriptor Class

Definition

An RPC descriptor for services that support JSON-RPC.

public ref class ServiceJsonRpcDescriptor : Microsoft::ServiceHub::Framework::ServiceRpcDescriptor, IEquatable<Microsoft::ServiceHub::Framework::ServiceJsonRpcDescriptor ^>
[System.Diagnostics.DebuggerDisplay("{DebuggerDisplay,nq}")]
public class ServiceJsonRpcDescriptor : Microsoft.ServiceHub.Framework.ServiceRpcDescriptor, IEquatable<Microsoft.ServiceHub.Framework.ServiceJsonRpcDescriptor>
[<System.Diagnostics.DebuggerDisplay("{DebuggerDisplay,nq}")>]
type ServiceJsonRpcDescriptor = class
    inherit ServiceRpcDescriptor
    interface IEquatable<ServiceJsonRpcDescriptor>
Public Class ServiceJsonRpcDescriptor
Inherits ServiceRpcDescriptor
Implements IEquatable(Of ServiceJsonRpcDescriptor)
Inheritance
ServiceJsonRpcDescriptor
Derived
Attributes
Implements

Constructors

ServiceJsonRpcDescriptor(ServiceJsonRpcDescriptor)

Initializes a new instance of the ServiceJsonRpcDescriptor class and initializes all fields based on a template instance.

ServiceJsonRpcDescriptor(ServiceMoniker, ServiceJsonRpcDescriptor+Formatters, ServiceJsonRpcDescriptor+MessageDelimiters)

Initializes a new instance of the ServiceJsonRpcDescriptor class.

ServiceJsonRpcDescriptor(ServiceMoniker, Type, ServiceJsonRpcDescriptor+Formatters, ServiceJsonRpcDescriptor+MessageDelimiters)

Initializes a new instance of the ServiceJsonRpcDescriptor class and no support for opening additional streams except by relying on the underlying service broker to provide one.

ServiceJsonRpcDescriptor(ServiceMoniker, Type, ServiceJsonRpcDescriptor+Formatters, ServiceJsonRpcDescriptor+MessageDelimiters, MultiplexingStream+Options)

Initializes a new instance of the ServiceJsonRpcDescriptor class and does support for opening additional streams with MultiplexingStreamOptions.

Properties

ClientInterface

Gets the interface type that the client's "callback" RPC target is expected to implement.

(Inherited from ServiceRpcDescriptor)
ExceptionStrategy

Gets the way exceptions are communicated from the service to the client. This is set on the ExceptionStrategy property when the JsonRpc instance is created.

Formatter

Gets the formatting used by the service.

MessageDelimiter

Gets the mechanism by which message boundaries may be discerned. Some expected values are found in ServiceJsonRpcDescriptor.MessageDelimiters.

Moniker

Gets the moniker for the service.

(Inherited from ServiceRpcDescriptor)
MultiplexingStream

Gets the Nerdbank.Streams.MultiplexingStream that may be used by constructed clients or servers.

(Inherited from ServiceRpcDescriptor)
MultiplexingStreamOptions

Gets the options to use when creating a new Nerdbank.Streams.MultiplexingStream as a prerequisite to establishing an RPC connection.

Protocol

Gets a non-localized name of the protocol supported by this instance.

TraceSource

Gets the TraceSource to be used on constructed clients or servers.

(Inherited from ServiceRpcDescriptor)

Methods

Clone()

Creates a copy of this instance with all the same properties.

ConstructLocalProxy<T>(T)

Wraps some target object with a proxy that gives the caller the similar semantics to calling an actual RPC object using JsonRpc.

ConstructRpc(Object, IDuplexPipe)

Establishes an RPC connection to a given object over an IDuplexPipe, allowing the remote party to invoke methods locally on the given object.

(Inherited from ServiceRpcDescriptor)
ConstructRpc<T>(IDuplexPipe)

Creates an RPC client proxy over a given IDuplexPipe without providing a local RPC target for the remote party to invoke methods locally.

(Inherited from ServiceRpcDescriptor)
ConstructRpc<T>(Object, IDuplexPipe)

Creates an RPC client proxy over a given IDuplexPipe and provides a local RPC target for the remote party to invoke methods locally.

(Inherited from ServiceRpcDescriptor)
ConstructRpcConnection(IDuplexPipe)

Establishes an RPC connection over an IDuplexPipe.

CreateConnection(JsonRpc)

Initializes a new instance of a ServiceJsonRpcDescriptor.JsonRpcConnection or derived type.

CreateFormatter()

Initializes a new instance of IJsonRpcMessageFormatter for use in a new server or client.

CreateHandler(IDuplexPipe, IJsonRpcMessageFormatter)

Initializes a new instance of IJsonRpcMessageHandler for use in a new server or client.

CreateJsonRpc(IJsonRpcMessageHandler)

Initializes a new instance of JsonRpc for use in a new server or client.

Equals(Object)
Equals(ServiceJsonRpcDescriptor)

Indicates whether the current object is equal to another object of the same type.

GetHashCode()

Serves as the default hash function.

WithExceptionStrategy(ExceptionProcessing)

Returns an instance of ServiceJsonRpcDescriptor that resembles this one, but with the ExceptionStrategy property set to a new value.

WithMultiplexingStream(MultiplexingStream)

Returns an instance of ServiceRpcDescriptor that resembles this one, but with the MultiplexingStream property set to the specified value and Nerdbank.Streams.MultiplexingStream.Options set to null.

WithMultiplexingStream(MultiplexingStream+Options)

Returns an instance of ServiceJsonRpcDescriptor that resembles this one, but with the MultiplexingStreamOptions property set to a frozen copy of the specified value. If a Nerdbank.Streams.MultiplexingStream has been set, it is cleared.

WithServiceMoniker(ServiceMoniker)

Returns an instance of ServiceRpcDescriptor that resembles this one, but with the ServiceMoniker property set to the specified value.

(Inherited from ServiceRpcDescriptor)
WithTraceSource(TraceSource)

Returns an instance of ServiceRpcDescriptor that resembles this one, but with the TraceSource property set to the specified value.

(Inherited from ServiceRpcDescriptor)

Applies to