MessageFormatterDuplexPipeTracker Classe

Definição

Auxilia implementações IJsonRpcMessageFormatter com suporte ao marshaling IDuplexPipe em JSON-RPC.

public class MessageFormatterDuplexPipeTracker : IDisposable, Microsoft.IDisposableObservable
type MessageFormatterDuplexPipeTracker = class
    interface IDisposableObservable
    interface IDisposable
Public Class MessageFormatterDuplexPipeTracker
Implements IDisposable, IDisposableObservable
Herança
MessageFormatterDuplexPipeTracker
Implementações

Comentários

Regras de tempo de vida: * O IDuplexPipe sempre se origina no cliente e é passado como um argumento para o servidor. Os servidores não têm permissão para retornar IDuplexPipe aos clientes porque o servidor não teria comentários se o cliente o soltasse, vazando recursos. * O cliente só pode enviar uma solicitação IDuplexPipe (que espera uma resposta). As notificações não forneceriam ao cliente comentários de que o servidor o retirou, vazando recursos. * O cliente encerrará imediatamente se IDuplexPipe o servidor retornar qualquer erro em resposta à solicitação, já que o servidor pode não estar ciente do IDuplexPipe. * O IDuplexPipe NÃO será encerrado quando uma resposta bem-sucedida for recebida do servidor. Espera-se que o cliente e o servidor negociem o fim de IDuplexPipe si mesmos.

Construtores

Nome Description
MessageFormatterDuplexPipeTracker()

Inicializa uma nova instância da classe MessageFormatterDuplexPipeTracker.

MessageFormatterDuplexPipeTracker(JsonRpc, IJsonRpcFormatterState)

Inicializa uma nova instância da classe MessageFormatterDuplexPipeTracker.

Propriedades

Nome Description
MultiplexingStream

Obtém ou define o fluxo de multiplexação usado para criar e aceitar canais.

RequestIdBeingDeserialized

Obtém ou define a ID da solicitação que está sendo desserializada para uso como uma chave em StreamJsonRpc.Reflection.MessageFormatterDuplexPipeTracker.inboundRequestChannelMap.

RequestIdBeingSerialized

Obtém ou define a ID da solicitação que está sendo serializada para uso como uma chave em StreamJsonRpc.Reflection.MessageFormatterDuplexPipeTracker.outboundRequestChannelMap.

Métodos

Nome Description
Dispose()

Auxilia implementações IJsonRpcMessageFormatter com suporte ao marshaling IDuplexPipe em JSON-RPC.

Dispose(Boolean)

Descarta recursos gerenciados e nativos mantidos por essa instância.

GetPipe(Nullable<Int32>)
Obsoleto.

Cria um IDuplexPipe token de um determinado token conforme ele é recebido no servidor RPC como um argumento de método.

GetPipe(Nullable<UInt64>)

Cria um IDuplexPipe token de um determinado token conforme ele é recebido no servidor RPC como um argumento de método.

GetPipeReader(Nullable<Int32>)
Obsoleto.

Cria um PipeReader de um determinado token conforme ele é recebido no servidor RPC como um argumento de método.

GetPipeReader(Nullable<UInt64>)

Cria um PipeReader de um determinado token conforme ele é recebido no servidor RPC como um argumento de método.

GetPipeWriter(Nullable<Int32>)
Obsoleto.

Cria um PipeWriter de um determinado token conforme ele é recebido no servidor RPC como um argumento de método.

GetPipeWriter(Nullable<UInt64>)

Cria um PipeWriter de um determinado token conforme ele é recebido no servidor RPC como um argumento de método.

GetToken(IDuplexPipe)
Obsoleto.

Cria um token para representar um IDuplexPipe como ele é transmitido do cliente para um servidor RPC como um argumento de método.

GetToken(PipeReader)
Obsoleto.

Cria um token para representar um PipeReader como ele é transmitido do cliente para um servidor RPC como um argumento de método.

GetToken(PipeWriter)
Obsoleto.

Cria um token para representar um PipeWriter como ele é transmitido do cliente para um servidor RPC como um argumento de método.

GetULongToken(IDuplexPipe)

Cria um token para representar um IDuplexPipe como ele é transmitido do cliente para um servidor RPC como um argumento de método.

GetULongToken(PipeReader)

Cria um token para representar um PipeReader como ele é transmitido do cliente para um servidor RPC como um argumento de método.

GetULongToken(PipeWriter)

Cria um token para representar um PipeWriter como ele é transmitido do cliente para um servidor RPC como um argumento de método.

OnResponseReceived(Int64, Boolean)

Notifica esse rastreador quando uma resposta a qualquer solicitação é recebida para que o canal apropriado e a limpeza de estado possam ocorrer.

OnResponseSent(Object, Boolean)

Notifica esse rastreador quando uma resposta a qualquer solicitação é enviada para que o canal apropriado e a limpeza de estado possam ocorrer.

Implantações explícitas de interface

Nome Description
IDisposableObservable.IsDisposed

Auxilia implementações IJsonRpcMessageFormatter com suporte ao marshaling IDuplexPipe em JSON-RPC.

Aplica-se a