IAsyncVisualizerObjectProvider 인터페이스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
디버지에서 시각화 도우미로 데이터를 전달하는 기능을 제공하는 에 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) |