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

指定调试对象是否支持 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)

适用于