Aracılığıyla paylaş


IAsyncVisualizerObjectProvider Arabirim

Tanım

içinde tanımlanan IVisualizerObjectProvider2 ve hata ayıklayıcıdan görselleştiriciye veri geçirme işlevselliği sağlayan yöntemler için zaman uyumsuz bir uygulama sağlar.

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

Açıklamalar

IVisualizerObjectProvider VS 17.2 için 'nin Show(IDialogVisualizerService, IVisualizerObjectProvider) ileriye doğru yöntemine DialogDebuggerVisualizergeçirilen nesne bu türdedir, bu nedenle bu yeni işlevi kullanmak için bunu atamanız gerekir.

Özellikler

IsBinaryFormatterSupported

.NET 5'te kullanım dışı bırakıldığından debuggee'nin BinaryFormatter'i desteklediğini belirtir. Aksi takdirde, sağlayıcı görselleştiriciyle iletişim kurmak için en çok JSON kullanır.

(Devralındığı yer: IVisualizerObjectProvider)
IsObjectReplaceable

Değiştirme nesnesinin oluşturulup oluşturulamayacağını belirtir. Yani, görselleştirilen veri nesnesinin değiştirilebilir (okuma/yazma) veya yer değiştirilemez (salt okunur) olup olmadığını belirler.

(Devralındığı yer: IVisualizerObjectProvider)

Yöntemler

Deserialize(Stream)
Geçersiz.

Seri durumdan çıkarma kodu yazmayı kolaylaştıran eski görselleştiriciler tarafından kullanılan eski yardımcı yöntemi. Verilen nesneyi akıştan okumak için varsayılan ikili serileştirmeyi kullanır. Ancak, kullanımıyla ilgili güvenlik açıkları nedeniyle artık kullanılmamalıdır ve .NET'in ASP.NET Core 5.0 gibi daha yeni sürümlerini oluşturur.

İkili SeriLeştirmeyi destekleyen bir hedef uygulamada çağrılırsa, yöntem tamamlandıktan sonra akış okunur ve temel alınan nesneyi döndürüriz.

(Devralındığı yer: IVisualizerObjectProvider2)
GetData()

Hata ayıklanan nesneyle ilgili ilk veri blobunu alır. Veriler sağlanan MemoryStream'e yazılır.

(Devralındığı yer: IVisualizerObjectProvider)
GetDeserializableObject()

GetData kullanarak verileri alır ve varsayılan serileştirme desteklenmiyorsa çağıranın JSON ile seri durumdan çıkarabilmesi için bir IDeserializableObject döndürür.

(Devralındığı yer: IVisualizerObjectProvider2)
GetDeserializableObjectAsync(CancellationToken)

GetData'nın zaman uyumsuz bir sürümünü kullanarak verileri alır ve varsayılan serileştirme desteklenmiyorsa çağıranın JSON ile seri durumdan çıkarabilmesi için bir IDeserializableObject döndürür.

GetDeserializableObjectFrom(Stream)

Hedef uygulamanın İkili Serileştirmeyi desteklemeyebileceği durumlar için seri durumdan çıkarılabilir bir nesne almak için kullanılabilecek yardımcı yöntemi. Böyle durumlarda, temel alınan biçim JSON kullanılarak seri hale getirilmelidir, böylece arayanlar seri durumdan çıkarılmasını istedikleri nesnenin türünü belirlemek için tek tek özellikleri sorgulayabilir.

(Devralındığı yer: IVisualizerObjectProvider2)
GetObject()
Geçersiz.

GetData kullanarak verileri alır ve ardından varsayılan serileştirmenin yapıldığını varsayarak seri durumdan çıkarılır

(Devralındığı yer: IVisualizerObjectProvider)
ReplaceData(Stream)

Verilen serileştirilmiş verileri temel alarak nesnenin yeni bir kopyasını oluşturur.

(Devralındığı yer: IVisualizerObjectProvider)
ReplaceDataAsync(Stream, CancellationToken)

Zaman uyumsuz olarak verilen serileştirilmiş verileri temel alarak nesnenin yeni bir kopyasını oluşturur.

ReplaceObject(Object)

Varsayılan serileştirmeyi kullanarak nesneyi serileştirir ve ardından ReplaceData kullanarak verileri ayarlar

(Devralındığı yer: IVisualizerObjectProvider)
Serialize(Object, Stream)

Serileştirme kodu yazmayı kolaylaştıran yardımcı yöntemi.

Hedef uygulama İkili Serileştirmeyi destekliyorsa, BinaryFormatter sınıfının yardımıyla nesneyi akışa seri hale getirir. Bu desteklenmiyorsa (.NET'in daha yeni sürümlerinde böyledir), nesneyi JSON biçiminde seri hale getirmek varsayılan olarak kullanılır.

(Devralındığı yer: IVisualizerObjectProvider2)
TransferData(Stream)

VisualizerObjectSource üzerindeki TransferData yöntemine verileri çift yönlü olarak aktarır

(Devralındığı yer: IVisualizerObjectProvider)
TransferDeserializableObject(Object)

IDeserializableObject olarak kullanarak giden nesneyi serileştirir ve ardından TransferData'yi çağırır. Dönüşte gelen veriler seri durumdan çıkarılır ve bir IDeserializableObject içinde sarmalanan nesneyi döndürür.

(Devralındığı yer: IVisualizerObjectProvider2)
TransferDeserializableObjectAsync(Object, CancellationToken)

IDeserializableObject olarak kullanarak giden nesneyi serileştirir ve ardından TransferData'nın zaman uyumsuz bir sürümünü çağırır. Dönüşte gelen veriler seri durumdan çıkarılır ve bir IDeserializableObject içinde sarmalanan nesneyi döndürür.

TransferObject(Object)
Geçersiz.

Varsayılan serileştirmeyi kullanarak giden nesneyi serileştirir ve ardından TransferData'yi çağırır. Dönüşte gelen veriler seri durumdan çıkarılır ve seri durumdan çıkarılmış nesne döndürülüyor

(Devralındığı yer: IVisualizerObjectProvider)

Şunlara uygulanır