Compartilhar via


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 comentários ao cliente 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

MessageFormatterDuplexPipeTracker()

Inicializa uma nova instância da classe MessageFormatterDuplexPipeTracker.

MessageFormatterDuplexPipeTracker(JsonRpc, IJsonRpcFormatterState)

Inicializa uma nova instância da classe MessageFormatterDuplexPipeTracker.

Propriedades

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 no momento para uso como uma chave em StreamJsonRpc.Reflection.MessageFormatterDuplexPipeTracker.outboundRequestChannelMap.

Métodos

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 de um determinado token conforme ele é recebido no servidor RPC como um argumento de método.

GetPipe(Nullable<UInt64>)

Cria um IDuplexPipe 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 conforme ele é transmitido do cliente para um servidor RPC como um argumento de método.

GetToken(PipeReader)
Obsoleto.

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

GetToken(PipeWriter)
Obsoleto.

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

GetULongToken(IDuplexPipe)

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

GetULongToken(PipeReader)

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

GetULongToken(PipeWriter)

Cria um token para representar um PipeWriter conforme 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

IDisposableObservable.IsDisposed

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

Aplica-se a