Compartilhar via


IAsyncVisualizerObjectProvider Interface

Definição

Fornece uma implementação assíncrona para os métodos definidos em IVisualizerObjectProvider2 que fornecem funcionalidade para passar dados do depurador para o visualizador e vice-versa.

public interface IAsyncVisualizerObjectProvider : Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider2
type IAsyncVisualizerObjectProvider = interface
    interface IVisualizerObjectProvider2
    interface IVisualizerObjectProvider
Public Interface IAsyncVisualizerObjectProvider
Implements IVisualizerObjectProvider2
Implementações

Comentários

O IVisualizerObjectProvider objeto passado para DialogDebuggerVisualizero método do Show(IDialogVisualizerService, IVisualizerObjectProvider) VS 17.2 em diante é desse tipo, portanto, você deve convertê-lo para usar essa nova funcionalidade.

Propriedades

IsBinaryFormatterSupported

Especifica se o depurador dá suporte ao BinaryFormatter desde que foi preterido no .NET 5. Se isso não acontecer, o provedor usará mais JSON para se comunicar com o visualizador.

(Herdado de IVisualizerObjectProvider)
IsObjectReplaceable

Especifica se um objeto de substituição pode ser criado. Ou seja, determina se o objeto de dados que está sendo visualizado é substituível (leitura/gravação) ou não insubstituível (somente leitura).

(Herdado de IVisualizerObjectProvider)

Métodos

Deserialize(Stream)
Obsoleto.

Método auxiliar herdado usado por visualizadores antigos que facilita a gravação de código de desserialização. Ele usa a serialização binária padrão para ler o objeto fornecido do fluxo. No entanto, devido a vulnerabilidades de segurança com seu uso, ele não deve mais ser usado e será lançado em versões mais recentes do .NET, como ASP.NET Core 5.0.

Se chamado em um aplicativo de destino que dá suporte à Serialização Binária, depois que o método terminar, o fluxo será lido e retornaremos o objeto subjacente.

(Herdado de IVisualizerObjectProvider2)
GetData()

Obtém um blob inicial de dados sobre o objeto que está sendo depurado. Os dados são gravados no MemoryStream fornecido.

(Herdado de IVisualizerObjectProvider)
GetDeserializableObject()

Obtém os dados usando GetData e retorna um IDeserializableObject para que o chamador possa desserializar com JSON se não houver suporte para serialização padrão.

(Herdado de IVisualizerObjectProvider2)
GetDeserializableObjectAsync(CancellationToken)

Obtém os dados usando uma versão assíncrona de GetData e, em seguida, retorna um IDeserializableObject para que o chamador possa desserializar com JSON se não houver suporte para serialização padrão.

GetDeserializableObjectFrom(Stream)

Método auxiliar que pode ser usado para obter um objeto desserializável para casos em que o aplicativo de destino pode não dar suporte à Serialização Binária. Nesses casos, o formato subjacente deve ser serializado usando JSON, para que os chamadores possam consultar propriedades individuais para determinar o tipo do objeto que desejam desserializar.

(Herdado de IVisualizerObjectProvider2)
GetObject()
Obsoleto.

Obtém os dados usando GetData e desserializa supondo que a serialização padrão tenha sido feita

(Herdado de IVisualizerObjectProvider)
ReplaceData(Stream)

Cria uma cópia de substituição do objeto com base nos dados serializados fornecidos.

(Herdado de IVisualizerObjectProvider)
ReplaceDataAsync(Stream, CancellationToken)

Cria uma cópia de substituição do objeto com base nos dados serializados fornecidos de forma assíncrona.

ReplaceObject(Object)

Serializa o objeto usando a serialização padrão e define os dados usando ReplaceData

(Herdado de IVisualizerObjectProvider)
Serialize(Object, Stream)

Método auxiliar que facilita a gravação de código de serialização.

Se o aplicativo de destino der suporte à Serialização Binária, ele serializará o objeto no fluxo com a ajuda da classe BinaryFormatter. Se não houver suporte para isso, que é o caso em versões mais recentes do .NET, o padrão é serializar o objeto no formato JSON.

(Herdado de IVisualizerObjectProvider2)
TransferData(Stream)

Transfere os dados bidirecionalmente para o método TransferData no VisualizerObjectSource

(Herdado de IVisualizerObjectProvider)
TransferDeserializableObject(Object)

Serializa o objeto de saída usando como um IDeserializableObject e, em seguida, chama TransferData. Após o retorno, desserializa os dados de entrada e retorna o objeto encapsulado em um IDeserializableObject.

(Herdado de IVisualizerObjectProvider2)
TransferDeserializableObjectAsync(Object, CancellationToken)

Serializa o objeto de saída usando como um IDeserializableObject e, em seguida, chama uma versão assíncrona de TransferData. Após o retorno, desserializa os dados de entrada e retorna o objeto encapsulado em um IDeserializableObject.

TransferObject(Object)
Obsoleto.

Serializa o objeto de saída usando a serialização padrão e, em seguida, chama TransferData. Após o retorno, desserializa os dados de entrada e retorna o objeto desserializado

(Herdado de IVisualizerObjectProvider)

Aplica-se a