Este paquete agrega soporte para el formato de los buffers de protocolos y la negociación de contenido a System.net.http
Los búferes de protocolos son el mecanismo neutral en el lenguaje, neutral de la plataforma y extensible de la plataforma para serializar datos estructurados: piense en XML, pero más pequeño, más rápido y más simple.
Byndyusoft.Net.Http.Formatting.ProtoBuf en realidad depende de Microsoft.Net.Http , y extiende el HttpClient con funciones Protocol Buffers que probablemente necesitaría hablar con un servicio tranquilo como ASP.NET Web API.
El paquete funciona en el espacio de nombres System.Net.Http y agrega algunos métodos de extensión útiles a HttpClient y HttpContent .
Entonces, por ejemplo:
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()
});
}
Si intentara usar Microsoft.Net.Http , el método ReadAsAsync no estaría disponible para usted, y solo podría leer el contenido como datos sin procesar como bytes o cadenas, y tener que hacer la serialización / deserialización.
También obtiene métodos de extensión para volver a colocar / publicar al servicio en formato ProtoBuf sin tener que hacerlo usted mismo:
// 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.ProtoBufPara contribuir, deberá configurar su entorno local, ver requisitos previos. Para la Guía de contribución y flujo de trabajo, consulte el ciclo de vida del desarrollo del paquete.
Se puede encontrar una descripción detallada de cómo contribuir en la guía contribuyente.
Asegúrese de haber instalado todos los siguientes requisitos previos en su máquina de desarrollo:
srctestsmaster del proyecto