다음을 통해 공유


IAsyncVisualizerObjectProvider 인터페이스

정의

디버지에서 시각화 도우미로 데이터를 전달하는 기능을 제공하는 에 IVisualizerObjectProvider2 정의된 메서드에 대한 비동기 구현을 제공하고 그 반대의 경우도 마찬가지입니다.

public interface IAsyncVisualizerObjectProvider : Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider2
type IAsyncVisualizerObjectProvider = interface
    interface IVisualizerObjectProvider2
    interface IVisualizerObjectProvider
Public Interface IAsyncVisualizerObjectProvider
Implements IVisualizerObjectProvider2
구현

설명

IVisualizerObjectProvider VS 17.2의 메서드에 DialogDebuggerVisualizerShow(IDialogVisualizerService, IVisualizerObjectProvider) 전달된 개체는 이 형식이므로 이 새 기능을 사용하도록 캐스팅해야 합니다.

속성

IsBinaryFormatterSupported

디버그가 .NET 5에서 사용되지 않으므로 BinaryFormatter를 지원하는지 지정합니다. 그렇지 않은 경우 공급자는 JSON을 사용하여 시각화 도우미와 통신합니다.

(다음에서 상속됨 IVisualizerObjectProvider)
IsObjectReplaceable

대체 개체를 만들 수 있는지 여부를 지정합니다. 즉, 시각화 중인 데이터 개체를 바꿀 수 있는지(읽기/쓰기) 아니면 대체할 수 없는지(읽기 전용) 결정합니다.

(다음에서 상속됨 IVisualizerObjectProvider)

메서드

Deserialize(Stream)
사용되지 않음.

역직렬화 코드를 더 쉽게 작성할 수 있도록 이전 시각화 도우미에서 사용하는 레거시 도우미 메서드입니다. 기본 이진 serialization을 사용하여 스트림에서 지정된 개체를 읽습니다. 그러나 사용량이 있는 보안 취약성으로 인해 더 이상 사용하지 않아야 하며 ASP.NET Core 5.0과 같은 최신 버전의 .NET에서 throw됩니다.

이진 Serialization을 지원하는 대상 앱에서 호출되는 경우 메서드가 완료되면 스트림을 읽고 기본 개체를 반환합니다.

(다음에서 상속됨 IVisualizerObjectProvider2)
GetData()

디버그 중인 개체에 대한 데이터의 초기 Blob을 가져옵니다. 데이터는 제공된 MemoryStream에 기록됩니다.

(다음에서 상속됨 IVisualizerObjectProvider)
GetDeserializableObject()

GetData를 사용하여 데이터를 가져오고 기본 seriallization이 지원되지 않는 경우 호출자가 JSON으로 역직렬화할 수 있도록 IDeserializableObject를 반환합니다.

(다음에서 상속됨 IVisualizerObjectProvider2)
GetDeserializableObjectAsync(CancellationToken)

GetData의 비동기 버전을 사용하여 데이터를 가져오고 기본 seriallization이 지원되지 않는 경우 호출자가 JSON으로 역직렬화할 수 있도록 IDeserializableObject를 반환합니다.

GetDeserializableObjectFrom(Stream)

대상 앱이 이진 Serialization을 지원하지 않을 수 있는 경우 역직렬화할 수 있는 개체를 가져오는 데 사용할 수 있는 도우미 메서드입니다. 이러한 경우 기본 형식은 JSON을 사용하여 직렬화되어야 하므로 호출자는 개별 속성을 쿼리하여 역직렬화하려는 개체의 형식을 확인할 수 있습니다.

(다음에서 상속됨 IVisualizerObjectProvider2)
GetObject()
사용되지 않음.

GetData를 사용하여 데이터를 가져오고 기본 serialization이 완료되었다고 가정하여 역직렬화합니다.

(다음에서 상속됨 IVisualizerObjectProvider)
ReplaceData(Stream)

지정된 직렬화된 데이터를 기반으로 개체의 대체 복사본을 만듭니다.

(다음에서 상속됨 IVisualizerObjectProvider)
ReplaceDataAsync(Stream, CancellationToken)

비동기적으로 지정된 직렬화된 데이터를 기반으로 개체의 대체 복사본을 만듭니다.

ReplaceObject(Object)

기본 serialization을 사용하여 개체를 직렬화한 다음 ReplaceData를 사용하여 데이터를 설정합니다.

(다음에서 상속됨 IVisualizerObjectProvider)
Serialize(Object, Stream)

직렬화 코드를 더 쉽게 작성할 수 있는 도우미 메서드입니다.

대상 앱이 이진 Serialization을 지원하는 경우 BinaryFormatter 클래스의 도움으로 개체를 스트림으로 직렬화합니다. 최신 버전의 .NET에서 지원되지 않는 경우 기본적으로 개체를 JSON 형식으로 직렬화합니다.

(다음에서 상속됨 IVisualizerObjectProvider2)
TransferData(Stream)

VisualizerObjectSource의 TransferData 메서드에 양방향으로 데이터를 전송합니다.

(다음에서 상속됨 IVisualizerObjectProvider)
TransferDeserializableObject(Object)

를 IDeserializableObject로 사용하여 나가는 개체를 직렬화한 다음 TransferData를 호출합니다. 반환 시 들어오는 데이터를 역직렬화하고 IDeserializableObject에 래핑된 개체를 반환합니다.

(다음에서 상속됨 IVisualizerObjectProvider2)
TransferDeserializableObjectAsync(Object, CancellationToken)

를 IDeserializableObject로 사용하여 나가는 개체를 직렬화한 다음 TransferData의 비동기 버전을 호출합니다. 반환 시 들어오는 데이터를 역직렬화하고 IDeserializableObject에 래핑된 개체를 반환합니다.

TransferObject(Object)
사용되지 않음.

기본 serialization을 사용하여 나가는 개체를 직렬화한 다음 TransferData를 호출합니다. 반환 시 들어오는 데이터를 역직렬화하고 역직렬화된 개체를 반환합니다.

(다음에서 상속됨 IVisualizerObjectProvider)

적용 대상