แพ็คเกจนี้เพิ่มการสนับสนุนสำหรับการจัดรูปแบบบัฟเฟอร์โปรโตคอลและการเจรจาต่อรองเนื้อหาไปยัง System.net.http
บัฟเฟอร์โปรโตคอลคือกลไกที่เป็นกลางภาษาแพลตฟอร์ม-เป็นกลางกลไกที่ขยายได้สำหรับข้อมูลที่มีโครงสร้างแบบอนุกรม-คิดว่า XML แต่เล็กลงเร็วขึ้นและง่ายขึ้น
Byndyusoft.Net.Http.Formatting.ProtoBuf จริง ๆ แล้วขึ้นอยู่กับ Microsoft.Net.Http และขยาย HttpClient ด้วยคุณสมบัติ Protocol Buffers ที่คุณน่าจะต้องพูดคุยกับบริการพักผ่อนเช่น ASP.NET Web API
แพ็คเกจทำงานในเนมสเปซ System.Net.Http และเพิ่มวิธีการขยายที่มีประโยชน์บางอย่างให้กับ HttpClient และ HttpContent
ตัวอย่างเช่น:
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()
});
}
หากคุณพยายามใช้ Microsoft.Net.Http วิธี ReadAsAsync จะไม่สามารถใช้ได้กับคุณและคุณจะสามารถอ่านเนื้อหาเป็นข้อมูลดิบเช่นไบต์หรือสตริงและต้องทำ serializing / de-serializing ตัวเอง
นอกจากนี้คุณยังได้รับวิธีการขยายเพื่อนำ / โพสต์กลับไปที่บริการในรูปแบบ ProtoBuf โดยไม่ต้องทำด้วยตัวเอง:
// 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.ProtoBufในการมีส่วนร่วมคุณจะต้องตั้งค่าสภาพแวดล้อมในท้องถิ่นของคุณดูสิ่งที่จำเป็นต้องมี สำหรับคู่มือการบริจาคและเวิร์กโฟลว์ดูวงจรชีวิตการพัฒนาแพ็คเกจ
ภาพรวมโดยละเอียดเกี่ยวกับวิธีการมีส่วนร่วมสามารถพบได้ในคู่มือการสนับสนุน
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งข้อกำหนดเบื้องต้นทั้งหมดต่อไปนี้ในเครื่องพัฒนาของคุณ:
srctestsmaster ของโครงการ