IAsyncVisualizerObjectProvider Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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) |