نحوه فراخوانی web api در windows form app
با سلام .
من یک اپ در windows form application با زبان C# و framework 4.0 نوشته ام و حالا میخواهم در ان web api فراخوانی کنم (وب ای پی آیی که در یک پروژه asp.net MVC 5 نوشته شده)
قادر به ارسال آبجکت از کلاینت به سرور هستم اما از سرور چیزی را نمیتوانم دریافت کنم
وقتی در مرورگر تست میکنم میگه نمیتونه سریالایز کنه
حالا چگونه عمل کنم؟؟؟؟
نقل قول: نحوه فراخوانی web api در windows form app
سلام دوست عزیز برای استفاده از webapi در پروژه های ویندوزی باید از کلاس Http Client استفاده کرد
نقل قول: نحوه فراخوانی web api در windows form app
نمونه کد خواندن اطلاعات از سرور
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("
SiteAddress");
//client.DefaultRequestHeaders.Add("appkey", "myapp_key");
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = client.GetAsync("api/clients").Result;
if (response.IsSuccessStatusCode)
{
var clients = response.Content.ReadAsAsync<IEnumerable<Client>>( ).Result;
grdshowClient.DataSource = clients;
}
else
{
MessageBox.Show("Error Code" + response.StatusCode + " : Message - " + response.ReasonPhrase);
}
نقل قول: نحوه فراخوانی web api در windows form app
نمونه کد اضافه کردن اطلاعات به سرور
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("
SiteAddress");
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
var myclient = new Client();
myclient.Name = txtname.Text;
myclient.NickName = txtmostar.Text;
var response = client.PostAsJsonAsync("api/clients", myclient).Result;
if (response.IsSuccessStatusCode)
{
MessageBox.Show("عضو جدید اضافه شد");
}
else
{
MessageBox.Show("Error Code" + response.StatusCode + " : Message - " + response.ReasonPhrase);
}
نقل قول: نحوه فراخوانی web api در windows form app
نمونه کد ویرایش اطلاعات
HttpClinet= newHttpClinet();
client.BaseAddress = new Uri("
siteAddress");
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue
("application/json"));
Var id = txtId.Text.Trim();
Varurl = "api/employee/" + id;
HttpResponseMessage
response = client.GetAsync(url).Result;
if (response.IsSuccessStatusCode)
{
var employees = response.Content.ReadAsAsync<Employee>().Result;
MessageBox.Show("Employee Found : " + employees.Name + " " + employees.Address + " " + employees.Designation);
}
else
{
MessageBox.Show("Error Code" + response.StatusCode + " : Message - " + response.ReasonPhrase);
}
نقل قول: نحوه فراخوانی web api در windows form app
نمونه کد حذف اطلاعات
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("
SiteAddress");
var id = txtId.Text.Trim();
var url = "api/employee/" + id;
HttpResponseMessage response = client.DeleteAsync(url).Result;
if (response.IsSuccessStatusCode)
{
MessageBox.Show("User Deleted");
BindEmployeeList();
}
else
{
MessageBox.Show("Error Code" + response.StatusCode + " : Message - " + response.ReasonPhrase);
}