تضيف هذه الحزمة دعمًا لتنسيق MessagePack والتفاوض على المحتوى إلى System.net.http
MessagePack هو تنسيق فعال للتسلسل الثنائي. يتيح لك تبادل البيانات بين لغات متعددة مثل JSON. لكنها أسرع وأصغر. يتم تشفير الأعداد الصحيحة الصغيرة في بايت واحد ، وتتطلب السلاسل القصيرة النموذجية بايت إضافي واحد فقط بالإضافة إلى الأوتار نفسها.
Byndyusoft.Net.Http.Formatting.MessagePack يعتمد فعليًا على Microsoft.Net.Http ، ويمتد HttpClient مع ميزات MessagePack التي من المحتمل أن تحتاج إلى التحدث إلى خدمة Restful مثل 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للمساهمة ، ستحتاج إلى إعداد بيئتك المحلية ، رؤية المتطلبات الأساسية. للاطلاع على دليل المساهمة وسير العمل ، انظر دورة حياة تطوير الحزمة.
يمكن العثور على نظرة عامة مفصلة حول كيفية المساهمة في الدليل المساهم.
تأكد من تثبيت جميع المتطلبات الأساسية التالية على آلة التطوير الخاصة بك:
srctestsmaster للمشروع