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分支