مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

mzolfaghari71

عضویت از 1394/08/11

فراخوانی وب سرویس JSON در وب فرم C#

  • شنبه 13 آبان 1396
  • 01:22
تشکر میکنم

سلام وقتتون بخیر بنده یک سرویس WEB API نوشتم که دو خروجی متفاوت میتونم ازش بگیرم با اضافه کردن خطوط زیر در فایل WEBAPICONGIG.CS

GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(
                new QueryStringMapping("type", "json", new MediaTypeHeaderValue("application/json")));

            GlobalConfiguration.Configuration.Formatters.XmlFormatter.MediaTypeMappings.Add(
                new QueryStringMapping("type", "xml", new MediaTypeHeaderValue("application/xml")));

هم JSON همXML حالا میخوام اونو توی وب فرم سی شارپ معرفی کنم که نمیدونم چرا برنامه هنگ میکنه و هیچ EXEPTION خاصی هم نمیده

اینم کدی که وارد کردم برای فراخوانی

 static async Task CallWebApiAsync()
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("http://localhost:50052/");
                client.DefaultRequestHeaders.Accept.Clear();

                //GET Method  
                HttpResponseMessage response = await client.GetAsync("api/loginregister?type=json");

                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));


               
                if (response.IsSuccessStatusCode)
                {
                    MessageBox.Show("دریافت داده انجام شد");

                    
                }
                else
                {
                    MessageBox.Show("Internal Server Error");
                }
            }
        }

پاسخ های این پرسش

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 13 آبان 1396
  • 10:22

متن خطا را ضمیمه کنید

کاربر سایت

mzolfaghari71

عضویت از 1394/08/11

  • شنبه 13 آبان 1396
  • 10:41
آخه هیچ خطایی نمیده و همینطور برنامه میمونه بصورت هنگ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 13 آبان 1396
  • 12:43

کلاس زیر نحوه فراخوانی WebApi  هست

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Newtonsoft.Json;

namespace Client_App
{
   public class CallApi
   {
       private string url = "http://169.254.80.80:91/api/PeopleApi";


       public Person GetPersonById(int personId)
       {
           using (var client = new HttpClient())
           {


               var result = client.GetStringAsync(url+"/"+personId).Result;

               //handling the answer  
               var Persons = JsonConvert.DeserializeObject<Person>(result);

               return Persons;
           } 
       }
        public List<Person> GetAllPerson()
        {
            using (var client = new HttpClient())
            {


                var result = client.GetStringAsync(url).Result;

                //handling the answer  
                var Persons = JsonConvert.DeserializeObject<List<Person>>(result);

                return Persons;
            }  
        }

       public void InsertPerson(Person person)
       {
           using (var client = new HttpClient())
           {

        
               string json = JsonConvert.SerializeObject(person);
               StringContent content = new System.Net.Http.StringContent(json, Encoding.UTF8, "application/json");

               var res = client.PostAsync(url, content).Result;

              

           }  
       }

       public void UpdatePerson(Person person)
       {
           using (var client = new HttpClient())
           {


               string json = JsonConvert.SerializeObject(person);
               StringContent content = new System.Net.Http.StringContent(json, Encoding.UTF8, "application/json");

               var res = client.PutAsync(url, content).Result;



           }
       }

       public void DeletePerson(int personId)
       {
           using (var client = new HttpClient())
           {
               var res = client.DeleteAsync(url+"/"+personId).Result;

           }
       }

       
    }

 
}

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)