Byndyusoft.Net.Http.Formatting.MessagePack
release 0.3.0
此软件包为system.net.http添加了对MessagePack格式和内容协商的支持
MessagePack是一种有效的二进制序列化格式。它使您可以在JSON(例如JSON)等多种语言之间进行数据交换。但是它更快,更小。小整数被编码为单个字节,典型的短字符串除了本身之外,仅需要一个额外的字节。
Byndyusoft.Net.Http.Formatting.MessagePack实际上取决于Microsoft.Net.Http ,并使用MessagePack功能扩展了HttpClient ,您可能需要与ASP.NET Web API等静止服务进行交谈。
软件包在System.Net.Http名称空间中运行,并将一些方便的扩展方法添加到HttpClient和HttpContent中。
因此,例如:
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()
});
}
如果您只尝试使用Microsoft.Net.Http ,则无法使用ReadAsAsync方法,并且您只能将内容读取为原始数据,例如字节或字符串,并且必须进行序列化 /进行序列化序列化。
您还将获得扩展方法,以MessagePack格式将 /发布回到服务,而无需自己操作:
// 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.MessagePack为了做出贡献,您需要设置本地环境,请参阅先决条件。有关贡献和工作流程指南,请参阅包装开发生命周期。
有关如何贡献的详细概述可以在贡献指南中找到。
确保您已经在开发机上安装了以下所有先决条件:
src中实现软件包逻辑tests中添加或添加或附加单位测试(与编码之前和同时使用编码)master分支