このパッケージは、system.net.httpへのメッセージパックのフォーマットとコンテンツネゴシエーションのサポートを追加します
メッセージパックは、効率的なバイナリシリアル化形式です。 JSONなどの複数の言語でデータを交換できます。しかし、それはより速く、より小さくなっています。小さな整数は単一のバイトにエンコードされ、典型的な短い文字列は、文字列自体に加えて1つの追加バイトのみを必要とします。
Byndyusoft.Net.Http.Formatting.MessagePack実際にMicrosoft.Net.Httpに依存し、 HttpClientをasp.net web apiなどの安定したサービスと話す必要があるメッセージMessagePack機能を拡張します。
パッケージは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ブランチをターゲットにします