Bagikan melalui


IAsyncVisualizerObjectProvider Antarmuka

Definisi

Menyediakan implementasi asinkron untuk metode yang ditentukan dalam IVisualizerObjectProvider2 yang menyediakan fungsionalitas untuk meneruskan data dari debugee ke visualizer dan sebaliknya.

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

Keterangan

Objek IVisualizerObjectProvider yang diteruskan ke Show(IDialogVisualizerService, IVisualizerObjectProvider)DialogDebuggerVisualizermetode untuk VS 17.2 dan seterusnya adalah jenis ini, jadi Anda harus mentransmisikannya untuk menggunakan fungsionalitas baru ini.

Properti

IsBinaryFormatterSupported

Menentukan apakah debuggee mendukung BinaryFormatter karena tidak digunakan lagi di .NET 5. Jika tidak, penyedia paling banyak menggunakan JSON untuk berkomunikasi dengan visualizer.

(Diperoleh dari IVisualizerObjectProvider)
IsObjectReplaceable

Menentukan apakah objek pengganti dapat dibuat. Artinya, menentukan apakah objek data yang sedang divisualisasikan dapat diganti (baca/tulis) atau tidak dapat diganti (baca saja).

(Diperoleh dari IVisualizerObjectProvider)

Metode

Deserialize(Stream)
Kedaluwarsa.

Metode pembantu warisan yang digunakan oleh visualizer lama yang memudahkan untuk menulis kode deserialisasi. Ini menggunakan serialisasi biner default untuk membaca objek yang diberikan dari aliran. Namun, karena kerentanan keamanan dengan penggunaannya, itu tidak boleh lagi digunakan, dan akan melemparkan versi .NET yang lebih baru seperti ASP.NET Core 5.0.

Jika dipanggil pada aplikasi target yang mendukung Serialisasi Biner, setelah metode selesai, aliran dibaca dan kami mengembalikan objek yang mendasarinya.

(Diperoleh dari IVisualizerObjectProvider2)
GetData()

Mendapatkan blob awal data tentang objek yang sedang di-debug. Data ditulis ke dalam MemoryStream yang disediakan.

(Diperoleh dari IVisualizerObjectProvider)
GetDeserializableObject()

Mendapatkan data menggunakan GetData lalu mengembalikan IDeserializableObject sehingga pemanggil dapat deserialisasi dengan JSON jika seriallisasi default tidak didukung.

(Diperoleh dari IVisualizerObjectProvider2)
GetDeserializableObjectAsync(CancellationToken)

Mendapatkan data menggunakan versi asinkron GetData lalu mengembalikan IDeserializableObject sehingga pemanggil dapat deserialisasi dengan JSON jika seriallisasi default tidak didukung.

GetDeserializableObjectFrom(Stream)

Metode pembantu yang dapat digunakan untuk mendapatkan objek yang dapat dideserialisasi untuk kasus di mana aplikasi target mungkin tidak mendukung Serialisasi Biner. Dalam kasus ini, format yang mendasar harus diserialisasikan menggunakan JSON, sehingga penelepon dapat mengkueri properti individual untuk menentukan jenis objek yang ingin mereka deserialisasi.

(Diperoleh dari IVisualizerObjectProvider2)
GetObject()
Kedaluwarsa.

Mendapatkan data menggunakan GetData lalu mendeserialisasi dengan asumsi bahwa serialisasi default telah dilakukan

(Diperoleh dari IVisualizerObjectProvider)
ReplaceData(Stream)

Membuat salinan pengganti objek berdasarkan data serial yang diberikan.

(Diperoleh dari IVisualizerObjectProvider)
ReplaceDataAsync(Stream, CancellationToken)

Membuat salinan pengganti objek berdasarkan data serial yang diberikan secara asinkron.

ReplaceObject(Object)

Menserialisasikan objek menggunakan serialisasi default lalu mengatur data menggunakan ReplaceData

(Diperoleh dari IVisualizerObjectProvider)
Serialize(Object, Stream)

Metode pembantu yang memudahkan untuk menulis kode serialisasi.

Jika aplikasi target mendukung Serialisasi Biner, aplikasi tersebut menserialisasikan objek ke dalam aliran dengan bantuan kelas BinaryFormatter. Jika itu tidak didukung, yang merupakan kasus dalam versi .NET yang lebih baru, defaultnya adalah untuk membuat serialisasi objek dalam format JSON.

(Diperoleh dari IVisualizerObjectProvider2)
TransferData(Stream)

Mentransfer data secara dua arah ke metode TransferData pada VisualizerObjectSource

(Diperoleh dari IVisualizerObjectProvider)
TransferDeserializableObject(Object)

Menserialisasikan objek keluar menggunakan sebagai IDeserializableObject lalu memanggil TransferData. Setelah kembali mendeserialisasi data masuk dan mengembalikan objek yang dibungkus dalam IDeserializableObject.

(Diperoleh dari IVisualizerObjectProvider2)
TransferDeserializableObjectAsync(Object, CancellationToken)

Menserialisasikan objek keluar menggunakan sebagai IDeserializableObject lalu memanggil versi asinkron TransferData. Setelah kembali mendeserialisasi data masuk dan mengembalikan objek yang dibungkus dalam IDeserializableObject.

TransferObject(Object)
Kedaluwarsa.

Menserialisasikan objek keluar menggunakan serialisasi default lalu memanggil TransferData. Setelah kembali mendeserialisasi data masuk dan mengembalikan objek yang dideserialisasi

(Diperoleh dari IVisualizerObjectProvider)

Berlaku untuk