IAsyncVisualizerObjectProvider 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供 中 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) |