Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 4002|Jawab: 2

[Sumber] ASP.NET Core (24) didasarkan pada komunikasi berkinerja tinggi Refit, MemoryPack

[Salin tautan]
Dipaparkan pada 2023-9-30 22:10:36 | | | |
Persyaratan: Berdasarkan arsitektur layanan mikro yang digunakan oleh ASP.NET Core, beberapa layanan adalah infrastruktur (layanan dasar) yang perlu sering berkomunikasi dengan layanan tertentu, dan kinerja tinggi dan latensi rendah sangat penting.

Menggunakan protokol MemoryPack untuk menserialkan data memiliki dua keuntungan dibandingkan menggunakan JSON: serialisasi cepat dan transfer konten kecil, yang meningkatkan performa.

Resensi:

Tolok ukur performa MessagePack dan protobuf-net
https://www.itsvse.com/thread-10655-1-1.html

.net/c# Xml, Json, Hessian, Perbandingan serialisasi Buffer Protokol
https://www.itsvse.com/thread-4675-1-1.html

Antarmuka dipanggil 200.000 kali menggunakan MemoryPack dan JSON, dan hasilnya adalah sebagai berikut:



MemoryPack membutuhkan waktu 29.895 milidetik
JSON membutuhkan waktu 34.283 milidetik

Karena sayaTes lokal, celahnya tidak terlalu terlihatKetika panggilan lintas host, bidang meningkat, dan volume data meningkat, saya yakin kesenjangan akan lebih jelas.

ASP.NET Konfigurasi Core mendukung protokol MemoryPack

Karena objek diserialkan menggunakan protokol MemoryPack dan kemudian dikirim melalui protokol HTTP, ASP.NET Core perlu mendukung protokol MemoryPack, dan kelas MemoryPackInputFormatter baru dibuat, kodenya adalah sebagai berikut:

Kemudian MvcOptions menambahkan dukungan untuk protokol MemoryPack, dengan kode berikut:

Tentukan objek transportasi dengan kode UserProfile berikut:


Metode pengontrol menambahkan antarmuka dengan kode berikut:

Konsol menggunakan Refit untuk mengirim permintaan HTTP

Aplikasi konsol menggunakan MemoryPack untuk menserialisasikan objek dan mengirim permintaan HTTP ke antarmuka, dengan kode berikut:

Tesnya adalah sebagai berikut:



Saat menggunakan MemoryPackSerializer untuk menserialkan objek, kode berikut akan memberikan kesalahan:


System.Object tidak terdaftar di penyedia ini

Ini harus berupa bug MemoryPack, dimodifikasi sebagai berikut:

(Akhir)





Mantan:Windows 11 File Explorer gagap, solusi macet
Depan:Jenis rekaman fitur baru .NET/C#
 Tuan tanah| Dipaparkan pada 2023-10-1 08:06:35 |
System.Object tidak terdaftar di penyedia ini

Masalah ini adalah masalah dengan Refit, sebagai berikut:




 Tuan tanah| Dipaparkan pada 2024-12-31 21:47:28 |
Unduh file dengan Refit untuk mendapatkan alur respons (Catatan:Seluruh aliran file yang diunduh tidak dimuat ke dalam memori



Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com