Este pacote adiciona suporte para formatação de buffers de protocolo e negociação de conteúdo para system.net.http
Os buffers de protocolo são o mecanismo de idioma, neutro de plataforma, neutra e em termos de plataforma do Google, para serializar dados estruturados-pense em XML, mas menor, mais rápido e mais simples.
Byndyusoft.Net.Http.Formatting.ProtoBuf realmente depende do Microsoft.Net.Http e estende o HttpClient com os recursos Protocol Buffers que você provavelmente precisará conversar com um serviço RESTful, como o ASP.NET Web API.
O pacote opera no espaço de nome System.Net.Http e adiciona alguns métodos úteis de extensão ao HttpClient e HttpContent .
Por exemplo:
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()
});
}
Se você tentasse usar apenas Microsoft.Net.Http , o método ReadAsAsync não estaria disponível para você, e você só poderá ler o conteúdo como dados brutos, como bytes ou string, e precisará fazer a serialização / desarrialização de si mesmo.
Você também recebe métodos de extensão para colocar / postar de volta ao serviço no formato ProtoBuf sem ter que fazer isso você mesmo:
// 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, você precisará configurar seu ambiente local, consulte os pré -requisitos. Para o guia de contribuição e fluxo de trabalho, consulte o ciclo de vida do desenvolvimento de pacotes.
Uma visão geral detalhada sobre como contribuir pode ser encontrada no guia contribuinte.
Certifique -se de instalar todos os seguintes pré -requisitos em sua máquina de desenvolvimento:
srctestsmaster do projeto