Udostępnij za pośrednictwem


MessageFormatterDuplexPipeTracker Klasa

Definicja

Wspomaga implementacje IJsonRpcMessageFormatter z obsługą marshalingu IDuplexPipe za pośrednictwem JSON-RPC.

public class MessageFormatterDuplexPipeTracker : IDisposable, Microsoft.IDisposableObservable
type MessageFormatterDuplexPipeTracker = class
    interface IDisposableObservable
    interface IDisposable
Public Class MessageFormatterDuplexPipeTracker
Implements IDisposable, IDisposableObservable
Dziedziczenie
MessageFormatterDuplexPipeTracker
Implementuje

Uwagi

Reguły okresu istnienia: * Element IDuplexPipe zawsze pochodzi z klienta i przekazywany jako argument do serwera. Serwery nie mogą powrócić IDuplexPipe do klientów, ponieważ serwer nie będzie miał opinii, jeśli klient porzucił go, wyciekając zasoby. * Klient może wysłać żądanie IDuplexPipe tylko w żądaniu (które oczekuje odpowiedzi). Powiadomienia nie będą dostarczać klientowi opinii, że serwer porzucił go, wyciekając zasoby. * Klient natychmiast zakończy IDuplexPipe działanie, jeśli serwer zwróci błąd ANY w odpowiedzi na żądanie, ponieważ serwer może nie być świadomy IDuplexPipe. * Nie IDuplexPipe zostanie zakończone po pomyślnym odebraniu odpowiedzi z serwera. Oczekuje się, że klient i serwer będą negocjować koniec IDuplexPipe samych siebie.

Konstruktory

MessageFormatterDuplexPipeTracker()

Inicjuje nowe wystąpienie klasy MessageFormatterDuplexPipeTracker.

MessageFormatterDuplexPipeTracker(JsonRpc, IJsonRpcFormatterState)

Inicjuje nowe wystąpienie klasy MessageFormatterDuplexPipeTracker.

Właściwości

MultiplexingStream

Pobiera lub ustawia strumień multipleksowania używany do tworzenia i akceptowania kanałów.

RequestIdBeingDeserialized

Pobiera lub ustawia identyfikator żądania, które jest obecnie deserializowane do użycia jako klucz w pliku StreamJsonRpc.Reflection.MessageFormatterDuplexPipeTracker.inboundRequestChannelMap.

RequestIdBeingSerialized

Pobiera lub ustawia identyfikator żądania aktualnie serializowanego do użycia jako klucz w pliku StreamJsonRpc.Reflection.MessageFormatterDuplexPipeTracker.outboundRequestChannelMap.

Metody

Dispose()

Wspomaga implementacje IJsonRpcMessageFormatter z obsługą marshalingu IDuplexPipe za pośrednictwem JSON-RPC.

Dispose(Boolean)

Usuwa zarządzane i natywne zasoby przechowywane przez to wystąpienie.

GetPipe(Nullable<Int32>)
Przestarzałe.

Tworzy element IDuplexPipe na podstawie danego tokenu, który jest odbierany na serwerze RPC jako argument metody.

GetPipe(Nullable<UInt64>)

Tworzy element IDuplexPipe na podstawie danego tokenu, który jest odbierany na serwerze RPC jako argument metody.

GetPipeReader(Nullable<Int32>)
Przestarzałe.

Tworzy element PipeReader na podstawie danego tokenu, który jest odbierany na serwerze RPC jako argument metody.

GetPipeReader(Nullable<UInt64>)

Tworzy element PipeReader na podstawie danego tokenu, który jest odbierany na serwerze RPC jako argument metody.

GetPipeWriter(Nullable<Int32>)
Przestarzałe.

Tworzy element PipeWriter na podstawie danego tokenu, który jest odbierany na serwerze RPC jako argument metody.

GetPipeWriter(Nullable<UInt64>)

Tworzy element PipeWriter na podstawie danego tokenu, który jest odbierany na serwerze RPC jako argument metody.

GetToken(IDuplexPipe)
Przestarzałe.

Tworzy token reprezentujący IDuplexPipe element, który jest przesyłany z klienta do serwera RPC jako argument metody.

GetToken(PipeReader)
Przestarzałe.

Tworzy token reprezentujący PipeReader element , który jest przesyłany z klienta do serwera RPC jako argument metody.

GetToken(PipeWriter)
Przestarzałe.

Tworzy token reprezentujący PipeWriter element , który jest przesyłany z klienta do serwera RPC jako argument metody.

GetULongToken(IDuplexPipe)

Tworzy token reprezentujący IDuplexPipe element, który jest przesyłany z klienta do serwera RPC jako argument metody.

GetULongToken(PipeReader)

Tworzy token reprezentujący PipeReader element , który jest przesyłany z klienta do serwera RPC jako argument metody.

GetULongToken(PipeWriter)

Tworzy token reprezentujący PipeWriter element , który jest przesyłany z klienta do serwera RPC jako argument metody.

OnResponseReceived(Int64, Boolean)

Powiadamia ten monitor, gdy otrzymana jest odpowiedź na każde żądanie, aby można było przeprowadzić odpowiednie czyszczenie kanału i stanu.

OnResponseSent(Object, Boolean)

Powiadamia ten tracker, gdy zostanie wysłana odpowiedź na dowolne żądanie, aby można było przeprowadzić odpowiednie czyszczenie kanału i stanu.

Jawne implementacje interfejsu

IDisposableObservable.IsDisposed

Wspomaga implementacje IJsonRpcMessageFormatter z obsługą marshalingu IDuplexPipe za pośrednictwem JSON-RPC.

Dotyczy