Ce package ajoute la prise en charge du formatage MessagePack et de la négociation de contenu à System.net.http
MessagePack est un format de sérialisation binaire efficace. Il vous permet d'échanger des données entre plusieurs langues comme JSON. Mais c'est plus rapide et plus petit. Les petits entiers sont codés en un seul octet, et les cordes courtes typiques ne nécessitent qu'un octet supplémentaire en plus des cordes elles-mêmes.
Byndyusoft.Net.Http.Formatting.MessagePack dépend en fait de Microsoft.Net.Http , et étend le HttpClient avec des fonctionnalités MessagePack que vous auriez probablement besoin de parler à un service reposant tel que ASP.NET Web API.
Le package fonctionne dans l'espace de noms System.Net.Http et ajoute des méthodes d'extension pratiques à HttpClient et HttpContent .
Ainsi, par exemple:
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()
});
}
Si vous essayez d'utiliser simplement Microsoft.Net.Http , la méthode ReadAsAsync ne serait pas disponible pour vous, et vous ne pourriez lire le contenu que des données brutes telles que des octets ou des chaînes, et que vous devez faire le sérialisation / désérialiser vous-même.
Vous obtenez également des méthodes d'extension à remettre / publier au service au format MessagePack sans avoir à le faire vous-même:
// 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.MessagePackPour contribuer, vous devrez configurer votre environnement local, voir les conditions préalables. Pour le guide de contribution et de flux de travail, voir le cycle de vie du développement des packages.
Un aperçu détaillé de la façon de contribuer peut être trouvé dans le guide de contribution.
Assurez-vous que vous avez installé toutes les conditions suivantes sur votre machine de développement:
srctestsmaster du projet