Paket ini menambah dukungan untuk formate MessagePack dan negosiasi konten ke System.net.http
MessagePack adalah format serialisasi biner yang efisien. Ini memungkinkan Anda bertukar data di antara berbagai bahasa seperti JSON. Tapi lebih cepat dan lebih kecil. Bilangan bulat kecil dikodekan menjadi satu byte, dan string pendek yang khas hanya membutuhkan satu byte tambahan selain string itu sendiri.
Byndyusoft.Net.Http.Formatting.MessagePack sebenarnya tergantung pada Microsoft.Net.Http , dan memperluas HttpClient dengan fitur MessagePack yang mungkin Anda perlukan untuk berbicara dengan layanan yang tenang seperti ASP.NET Web API.
Paket beroperasi di namespace System.Net.Http dan menambahkan beberapa metode ekstensi praktis ke HttpClient dan HttpContent .
Jadi misalnya:
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-msgpack"));
var response = await client.GetAsync("http://localhost/api/products/1");
response.EnsureSuccessStatusCode();
var product = await response.Content.ReadAsAsync<ProductInfo>(new[]
{
new MessagePackMediaTypeFormatter()
});
}
Jika Anda mencoba hanya menggunakan Microsoft.Net.Http , metode ReadAsAsync tidak akan tersedia untuk Anda, dan Anda hanya dapat membaca konten sebagai data mentah seperti byte atau string, dan harus melakukan serialisasi / menghilangkan serialisasi diri Anda.
Anda juga mendapatkan metode ekstensi untuk memasukkan / memposting kembali ke layanan dalam format MessagePack tanpa harus melakukannya sendiri:
// Save the ProductInfo model back to the API service
await client.PutAsMessagePackAsync("http://localhost/api/products/1", product);
await client.PostAsMessagePackAsync("http://localhost/api/products/1", product);
dotnet add package Byndyusoft.Net.Http.Formatting.MessagePackUntuk berkontribusi, Anda perlu mengatur lingkungan lokal Anda, lihat prasyarat. Untuk panduan kontribusi dan alur kerja, lihat siklus hidup pengembangan paket.
Tinjauan terperinci tentang cara berkontribusi dapat ditemukan di panduan yang berkontribusi.
Pastikan Anda telah memasang semua prasyarat berikut di mesin pengembangan Anda:
srctestsmaster Proyek