Paket ini menambahkan dukungan untuk pemformatan buffer protokol dan negosiasi konten ke System.net.http
Buffer Protokol adalah mekanisme yang dapat diperluas oleh bahasa Google, platform-netral, yang dapat diperluas untuk membuat serial data terstruktur-pikirkan XML, tetapi lebih kecil, lebih cepat, dan lebih sederhana.
Byndyusoft.Net.Http.Formatting.ProtoBuf sebenarnya tergantung pada Microsoft.Net.Http , dan memperluas HttpClient dengan fitur Protocol Buffers 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/protobuf"));
var response = await client.GetAsync("http://localhost/api/products/1");
response.EnsureSuccessStatusCode();
var product = await response.Content.ReadAsAsync<ProductInfo>(new[]
{
new ProtoBufMediaTypeFormatter()
});
}
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 mengembalikan / memposting kembali ke layanan dalam format ProtoBuf tanpa harus melakukannya sendiri:
// Save the ProductInfo model back to the API service
await client.PutAsProtoBufAsync("http://localhost/api/products/1", product);
await client.PostAsProtoBufAsync("http://localhost/api/products/1", product);
dotnet add package Byndyusoft.Net.Http.Formatting.ProtoBufUntuk 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