2015-02-04 2 views
1

Я пытаюсь отправить строку JSON на сервер с помощью класса Web Client, но результат не возвращается, я попробовал плагин Rest Client, чтобы убедиться, что сервер что-то возвращает, вот мой метод postRequest `отправка JSON на сервер windows phone 8

public static void PostRequest(WebClient webclient,string data,string 
url,string header,string method) 
      { 
       Uri uri = new Uri(url, UriKind.Absolute); 
       webclient.Headers[HttpRequestHeader.ContentType] = header; 
       webclient.UploadStringAsync(uri,method,data); 
      } 

и здесь, где я вызвать этот метод

string newUserJson="{"User_Name":"yosyos","First_Name":"gfhgas","Last_Name":"jagfshg"}"; 

       wc = new WebClient(); 
       wc.UploadStringCompleted += new UploadStringCompletedEventHandler(wb_UploadStringCompleted); 
      string url = "http://670b9ada.ngrok.com/laravelProjects/TestVisWall/public/users"; 
       helper.PostRequest(wc, newUserJson, url, "application/json", "POST"); 

ответ

0

не используйте WebClient, он обескуражен от Microsoft. Попробуйте RestSharp library, на мой взгляд, очень хороший. Добавить recerense в Restsharp, метод NuGet быстрее: https://www.nuget.org/packages/RestSharp

RestClient client = new RestClient("baseurl");  
var request = new RestRequest("/path/script.php", Method.POST); 

request.AddParameter("application/json; charset=utf-8", "json string", ParameterType.RequestBody); 
request.RequestFormat = DataFormat.Json; 

client.ExecuteAsync(request, response => 
             { 
              if (response.StatusCode == HttpStatusCode.OK) 
              { 
               //OK 
              } 
             }); 
    } 
+0

я пытаюсь сейчас, но я хочу знать разницу между URL, указанной на «BaseUrl» RestClient Конструктора и URL, указанной в RestRequest Конструктора " /path/script.php "? –

+0

Это зависит от вашего сценария, если вы выполняете один запрос, вы можете передать полный URL-адрес конструктору. Лично я выполняю много запросов к одному и тому же сервису отдыха, поэтому базовый url является статическим, и единственное изменение - это удаленный файл, на который я отправляю данные. – fillobotto

+0

спасибо, , но я пробовал это, и это то же самое, что и веб-клиент. Ответ не получен –

Смежные вопросы