IAsyncVisualizerObjectProvider 介面

定義

提供 中 IVisualizerObjectProvider2 定義之方法的異步實作,提供從偵錯者將數據傳遞至可視化檢視的功能,反之亦然。

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

備註

IVisualizerObjectProvider傳遞至 DialogDebuggerVisualizerShow(IDialogVisualizerService, IVisualizerObjectProvider) VS 17.2 的 方法的物件屬於此類型,因此您應該將它轉換成使用此新功能。

屬性

IsBinaryFormatterSupported

指定偵錯gee 是否支援 BinaryFormatter,因為它在 .NET 5 中已被取代。 如果沒有,提供者最常使用 JSON 與可視化檢視通訊。

(繼承來源 IVisualizerObjectProvider)
IsObjectReplaceable

指定是否可以建立取代物件。 也就是說,判斷要可視化的數據物件是否可取代 (讀取/寫入) 或不可取代的 (只讀) 。

(繼承來源 IVisualizerObjectProvider)

方法

Deserialize(Stream)
已淘汰.

舊版可視化檢視所使用的舊版協助程式方法,可讓您更輕鬆地撰寫還原串行化程序代碼。 它會使用預設的二進位串行化,從數據流讀取指定的物件。 不過,由於安全性弱點及其使用方式,因此不應再使用,而且會在較新版本的 .NET 上擲回,例如 ASP.NET Core 5.0。

如果在支援二進位串行化的目標應用程式上呼叫,在方法完成數據流讀取之後,我們會傳回基礎物件。

(繼承來源 IVisualizerObjectProvider2)
GetData()

取得有關正在偵錯之物件的初始數據 Blob。 數據會寫入提供的 MemoryStream。

(繼承來源 IVisualizerObjectProvider)
GetDeserializableObject()

使用 GetData 取得數據,然後傳回 IDeserializableObject,以便在不支援預設串行化時,呼叫端可以使用 JSON 還原串行化。

(繼承來源 IVisualizerObjectProvider2)
GetDeserializableObjectAsync(CancellationToken)

使用 GetData 的異步版本取得數據,然後傳回 IDeserializableObject,以便在不支援預設串行化時,呼叫端可以使用 JSON 還原串行化。

GetDeserializableObjectFrom(Stream)

協助程式方法,可用於取得可還原串行化的物件,以取得目標應用程式可能不支援二進位串行化的情況。 在這些情況下,基礎格式應該使用 JSON 串行化,因此呼叫端可以查詢個別屬性,以判斷想要還原串行化的物件類型。

(繼承來源 IVisualizerObjectProvider2)
GetObject()
已淘汰.

使用 GetData 取得數據,然後還原串行化,假設已完成預設串行化

(繼承來源 IVisualizerObjectProvider)
ReplaceData(Stream)

根據指定的串行化數據,建立物件的取代複本。

(繼承來源 IVisualizerObjectProvider)
ReplaceDataAsync(Stream, CancellationToken)

根據異步指定的串行化數據,建立 物件的取代複本。

ReplaceObject(Object)

使用預設串行化串行化對象,然後使用 ReplaceData 設定數據

(繼承來源 IVisualizerObjectProvider)
Serialize(Object, Stream)

協助程式方法,可讓您更輕鬆地撰寫串行化程序代碼。

如果目標應用程式支援二進位串行化,它會使用 BinaryFormatter 類別的協助,將物件串行化至數據流。 如果不支援,這是較新版本 .NET 的情況,預設會以 JSON 格式串行化物件。

(繼承來源 IVisualizerObjectProvider2)
TransferData(Stream)

將數據雙向傳送至 VisualizerObjectSource 上的 TransferData 方法

(繼承來源 IVisualizerObjectProvider)
TransferDeserializableObject(Object)

使用 串行化傳出物件做為 IDeserializableObject,然後呼叫 TransferData。 傳回時會還原串行化傳入數據,並傳回包裝在IDeserializableObject 中的物件。

(繼承來源 IVisualizerObjectProvider2)
TransferDeserializableObjectAsync(Object, CancellationToken)

使用 串行化傳出物件做為 IDeserializableObject,然後呼叫 TransferData 的異步版本。 傳回時會還原串行化傳入數據,並傳回包裝在IDeserializableObject 中的物件。

TransferObject(Object)
已淘汰.

使用預設串行化串行化串行化傳出對象,然後呼叫 TransferData。 當傳回還原串行化傳入數據並傳回已還原串行化的物件時

(繼承來源 IVisualizerObjectProvider)

適用於