برای ارسال مقادیر لایبرری از ویندوز فرم به وب API و ذخیره کردن آنها در لیست in-memory، میتوانید از یک روش ساده از جمله HTTP POST request استفاده کنید. برای این کار، میتوانید از کتابخانههای موجود در C# مانند System.Net.Http استفاده کنید.
ابتدا، در کلاس ویندوز فرم خود یک شی از کلاس لایبرری را ایجاد کنید و مقادیر مورد نیاز را به آن اختصاص دهید. سپس، میتوانید از کلاس HttpClient در کتابخانه System.Net.Http استفاده کنید تا درخواست HTTP POST را به وب API ارسال کنید. به عنوان مثال:
using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;
// در کلاس ویندوز فرم
private readonly LibraryClass library = new LibraryClass();
// در رویداد کلیک دکمه ارسال در ویندوز فرم
private async void SendDataButton_Click(object sender, EventArgs e)
{
// ایجاد یک شی از کلاس HttpClient
using var client = new HttpClient();
// تبدیل شی لایبرری به یک رشته JSON
var json = JsonSerializer.Serialize(library);
// تنظیمات درخواست HTTP POST
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("http://example.com/api/library", content);
// بررسی پاسخ دریافتی از وب API
if (response.IsSuccessStatusCode)
{
// پردازش پاسخ دریافتی از وب API
var responseContent = await response.Content.ReadAsStringAsync();
// ...
}
else
{
// پردازش خطاهای دریافتی از وب API
// ...
}
}
در مثال بالا، کلاس HttpClient به عنوان یک شی استاتیک ایجاد شده است. همچنین ، تنظیمات درخواست HTTP POST شامل تنظیمات مربوط به محتوا (content) و نوع آن (application/json) نیز انجام شده است. در پاسخ دریافتی از وب API نیز میتوانید خطاها و پاسخهای مورد انتظار را بررسی کنید.