Freigeben über


MessageFormatterDuplexPipeTracker Klasse

Definition

IJsonRpcMessageFormatter Unterstützt Implementierungen bei der Unterstützung von Marshaling IDuplexPipe über JSON-RPC.

public class MessageFormatterDuplexPipeTracker : IDisposable, Microsoft.IDisposableObservable
type MessageFormatterDuplexPipeTracker = class
    interface IDisposableObservable
    interface IDisposable
Public Class MessageFormatterDuplexPipeTracker
Implements IDisposable, IDisposableObservable
Vererbung
MessageFormatterDuplexPipeTracker
Implementiert

Hinweise

Lebensdauerregeln: * Die IDuplexPipe immer auf dem Client stammen und als Argument an den Server übergeben. Server dürfen IDuplexPipe nicht an Clients zurückkehren, da der Server kein Feedback haben würde, wenn der Client es heruntergelassen hat, ressourcenleckend. * Der Client kann nur eine Anforderung senden (die eine IDuplexPipe Antwort erwartet). Benachrichtigungen würden den Client nicht mit Feedback bereitstellen, dass der Server sie abgelassen hat, und die Ressourcen verlecken. * Der Client beendet sofort den IDuplexPipe Fehler, wenn der Server einen Fehler als Antwort auf die Anforderung zurückgibt, da der Server möglicherweise nicht über den IDuplexPipeWert informiert ist. * Dies IDuplexPipe wird NICHT beendet, wenn eine erfolgreiche Antwort vom Server empfangen wird. Client und Server werden erwartet, das Ende des IDuplexPipe selbst zu verhandeln.

Konstruktoren

MessageFormatterDuplexPipeTracker()

Initialisiert eine neue Instanz der MessageFormatterDuplexPipeTracker-Klasse.

MessageFormatterDuplexPipeTracker(JsonRpc, IJsonRpcFormatterState)

Initialisiert eine neue Instanz der MessageFormatterDuplexPipeTracker-Klasse.

Eigenschaften

MultiplexingStream

Ruft den Multiplexing-Stream ab, der zum Erstellen und Akzeptieren von Kanälen verwendet wird, oder legt diesen fest.

RequestIdBeingDeserialized

Ruft die ID der aktuell deerialisierten Anforderung ab oder legt diese als Schlüssel fest StreamJsonRpc.Reflection.MessageFormatterDuplexPipeTracker.inboundRequestChannelMap.

RequestIdBeingSerialized

Dient zum Abrufen oder Festlegen der ID der aktuell serialisierten Anforderung als Schlüssel in StreamJsonRpc.Reflection.MessageFormatterDuplexPipeTracker.outboundRequestChannelMap.

Methoden

Dispose()

IJsonRpcMessageFormatter Unterstützt Implementierungen bei der Unterstützung von Marshaling IDuplexPipe über JSON-RPC.

Dispose(Boolean)

Entfernt verwaltete und native Ressourcen, die von dieser Instanz gespeichert werden.

GetPipe(Nullable<Int32>)
Veraltet.

Erstellt ein IDuplexPipe aus einem bestimmten Token, da er auf dem RPC-Server als Methodenargument empfangen wird.

GetPipe(Nullable<UInt64>)

Erstellt ein IDuplexPipe aus einem bestimmten Token, da er auf dem RPC-Server als Methodenargument empfangen wird.

GetPipeReader(Nullable<Int32>)
Veraltet.

Erstellt ein PipeReader aus einem bestimmten Token, da er auf dem RPC-Server als Methodenargument empfangen wird.

GetPipeReader(Nullable<UInt64>)

Erstellt ein PipeReader aus einem bestimmten Token, da er auf dem RPC-Server als Methodenargument empfangen wird.

GetPipeWriter(Nullable<Int32>)
Veraltet.

Erstellt ein PipeWriter aus einem bestimmten Token, da er auf dem RPC-Server als Methodenargument empfangen wird.

GetPipeWriter(Nullable<UInt64>)

Erstellt ein PipeWriter aus einem bestimmten Token, da er auf dem RPC-Server als Methodenargument empfangen wird.

GetToken(IDuplexPipe)
Veraltet.

Erstellt ein Token, das IDuplexPipe als Argument von dem Client an einen RPC-Server übertragen wird.

GetToken(PipeReader)
Veraltet.

Erstellt ein Token, das ein Token darstellt, PipeReader das vom Client an einen RPC-Server als Methodenargument übertragen wird.

GetToken(PipeWriter)
Veraltet.

Erstellt ein Token, das ein Token darstellt, PipeWriter das vom Client an einen RPC-Server als Methodenargument übertragen wird.

GetULongToken(IDuplexPipe)

Erstellt ein Token, das IDuplexPipe als Argument von dem Client an einen RPC-Server übertragen wird.

GetULongToken(PipeReader)

Erstellt ein Token, das ein Token darstellt, PipeReader das vom Client an einen RPC-Server als Methodenargument übertragen wird.

GetULongToken(PipeWriter)

Erstellt ein Token, das ein Token darstellt, PipeWriter das vom Client an einen RPC-Server als Methodenargument übertragen wird.

OnResponseReceived(Int64, Boolean)

Benachrichtigt diesen Tracker, wenn eine Antwort auf eine Anforderung empfangen wird, sodass die entsprechende Kanal- und Zustandsbereinigung erfolgen kann.

OnResponseSent(Object, Boolean)

Benachrichtigt diesen Tracker, wenn eine Antwort auf eine Anforderung gesendet wird, sodass die entsprechende Kanal- und Zustandsbereinigung erfolgen kann.

Explizite Schnittstellenimplementierungen

IDisposableObservable.IsDisposed

IJsonRpcMessageFormatter Unterstützt Implementierungen bei der Unterstützung von Marshaling IDuplexPipe über JSON-RPC.

Gilt für: