Freigeben über


IAsyncVisualizerObjectProvider Schnittstelle

Definition

Stellt eine asynchrone Implementierung für die in IVisualizerObjectProvider2 definierten Methoden bereit, die Funktionen zum Übergeben von Daten vom Debugempfänger an die Visualisierung bereitstellen und umgekehrt.

public interface IAsyncVisualizerObjectProvider : Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider2
type IAsyncVisualizerObjectProvider = interface
    interface IVisualizerObjectProvider2
    interface IVisualizerObjectProvider
Public Interface IAsyncVisualizerObjectProvider
Implements IVisualizerObjectProvider2
Implementiert

Hinweise

Das IVisualizerObjectProvider Objekt, das an DialogDebuggerVisualizerdie Methode von Show(IDialogVisualizerService, IVisualizerObjectProvider) vs 17.2 weiter übergeben wird, ist von diesem Typ. Daher sollten Sie es für die Verwendung dieser neuen Funktionalität umwandeln.

Eigenschaften

IsBinaryFormatterSupported

Gibt an, ob der Debuggee binaryFormatter unterstützt, da er in .NET 5 veraltet war. Wenn dies nicht der Fall ist, verwendet der Anbieter am häufigsten JSON, um mit der Schnellansicht zu kommunizieren.

(Geerbt von IVisualizerObjectProvider)
IsObjectReplaceable

Gibt an, ob ein Ersatzobjekt erstellt werden kann. Das heißt, bestimmt, ob das zu visualisierende Datenobjekt ersetzbar (Lese-/Schreibzugriff) oder nicht austauschbar (schreibgeschützt) ist.

(Geerbt von IVisualizerObjectProvider)

Methoden

Deserialize(Stream)
Veraltet.

Legacyhilfsmethode, die von alten Schnellansichten verwendet wird, die das Schreiben von Deserialisierungscode erleichtert. Es verwendet die standardmäßige binäre Serialisierung, um das angegebene Objekt aus dem Stream zu lesen. Aufgrund von Sicherheitsrisiken bei der Verwendung sollte es jedoch nicht mehr verwendet werden und löst neuere Versionen von .NET wie ASP.NET Core 5.0 aus.

Wenn für eine Ziel-App aufgerufen wird, die binäre Serialisierung unterstützt, wird der Stream nach Abschluss der Methode gelesen, und wir geben das zugrunde liegende Objekt zurück.

(Geerbt von IVisualizerObjectProvider2)
GetData()

Ruft ein anfängliches Datenblob über das objekt ab, das debuggen wird. Die Daten werden in den bereitgestellten MemoryStream geschrieben.

(Geerbt von IVisualizerObjectProvider)
GetDeserializableObject()

Ruft die Daten mithilfe von GetData ab und gibt dann ein IDeserializableObject zurück, damit der Aufrufer mit JSON deserialisieren kann, wenn die Standardserialisierung nicht unterstützt wird.

(Geerbt von IVisualizerObjectProvider2)
GetDeserializableObjectAsync(CancellationToken)

Ruft die Daten mithilfe einer asynchronen Version von GetData ab und gibt dann ein IDeserializableObject zurück, damit der Aufrufer mit JSON deserialisieren kann, wenn die Standardserialisierung nicht unterstützt wird.

GetDeserializableObjectFrom(Stream)

Hilfsmethode, die verwendet werden kann, um ein deserialisierbares Objekt für Fälle abzurufen, in denen die Ziel-App die binäre Serialisierung möglicherweise nicht unterstützt. In diesen Fällen sollte das zugrunde liegende Format mithilfe von JSON serialisiert werden, sodass Aufrufer einzelne Eigenschaften abfragen können, um den Typ des Objekts zu bestimmen, das sie deserialisieren möchten.

(Geerbt von IVisualizerObjectProvider2)
GetObject()
Veraltet.

Ruft die Daten mithilfe von GetData ab und deserialisiert dann, wenn die Standardserialisierung durchgeführt wurde.

(Geerbt von IVisualizerObjectProvider)
ReplaceData(Stream)

Erstellt eine Ersatzkopie des Objekts basierend auf den angegebenen serialisierten Daten.

(Geerbt von IVisualizerObjectProvider)
ReplaceDataAsync(Stream, CancellationToken)

Erstellt eine Ersatzkopie des -Objekts basierend auf den serialisierten Daten, die asynchron angegeben werden.

ReplaceObject(Object)

Serialisiert das Objekt mithilfe der Standardserialisierung und legt dann die Daten mithilfe von ReplaceData fest.

(Geerbt von IVisualizerObjectProvider)
Serialize(Object, Stream)

Hilfsmethode, die das Schreiben von Serialisierungscode vereinfacht.

Wenn die Ziel-App die binäre Serialisierung unterstützt, serialisiert sie das Objekt mithilfe der BinaryFormatter-Klasse in den Stream. Wenn dies nicht unterstützt wird, was in neueren Versionen von .NET der Fall ist, wird das Objekt standardmäßig im JSON-Format serialisiert.

(Geerbt von IVisualizerObjectProvider2)
TransferData(Stream)

Überträgt die Daten bidirektional an die TransferData-Methode auf der VisualizerObjectSource

(Geerbt von IVisualizerObjectProvider)
TransferDeserializableObject(Object)

Serialisiert das ausgehende Objekt mithilfe eines IDeserializableObject und ruft dann TransferData auf. Nach der Rückgabe deserialisiert die eingehenden Daten und gibt das Objekt zurück, das in ein IDeserializableObject umschlossen ist.

(Geerbt von IVisualizerObjectProvider2)
TransferDeserializableObjectAsync(Object, CancellationToken)

Serialisiert das ausgehende Objekt mithilfe von IDeserializableObject und ruft dann eine asynchrone Version von TransferData auf. Nach der Rückgabe deserialisiert die eingehenden Daten und gibt das Objekt zurück, das in ein IDeserializableObject umschlossen ist.

TransferObject(Object)
Veraltet.

Serialisiert das ausgehende Objekt mithilfe der Standardserialisierung und ruft dann TransferData auf. Nach der Rückgabe deserialisiert die eingehenden Daten und gibt das deserialisierte Objekt zurück.

(Geerbt von IVisualizerObjectProvider)

Gilt für: