Byndyusoft.Net.Http.Formatting.ProtoBuf
1.0.0
此軟件包為System.net.http添加了對協議緩衝區格式和內容協商的支持
協議緩衝區是Google的語言中性,平台中性的,可擴展的機制,用於序列化結構化數據 - 想想XML,但更小,更快,更簡單。
Byndyusoft.Net.Http.Formatting.ProtoBuf實際上取決於Microsoft.Net.Http ,並使用Protocol Buffers功能擴展了HttpClient ,您可能需要與ASP.NET Web API這樣的Restful服務進行交談。
軟件包在System.Net.Http名稱空間中運行,並將一些方便的擴展方法添加到HttpClient和HttpContent中。
因此,例如:
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()
});
}
如果您只嘗試使用Microsoft.Net.Http ,則無法使用ReadAsAsync方法,並且您只能將內容讀取為原始數據,例如字節或字符串,並且必須進行序列化 /進行序列化序列化。
您還將獲得擴展方法,以ProtoBuf格式將 /發布回到服務,而無需您自己做:
// 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.ProtoBuf為了做出貢獻,您需要設置本地環境,請參閱先決條件。有關貢獻和工作流程指南,請參閱包裝開發生命週期。
有關如何貢獻的詳細概述可以在貢獻指南中找到。
確保您已經在開發機上安裝了以下所有先決條件:
src中實現軟件包邏輯tests中添加或添加或附加單位測試(與編碼之前和同時使用編碼)master分支