C # — передать переменные POST с приложением Windows Phone

Я пытаюсь вставить данные из приложения Windows Phone в базу данных, используя скрипт php.
Это мой код C #, который я выполняю при нажатии на кнопку.

var request = WebRequest.Create(new Uri("xxx/Insert.php")) as HttpWebRequest;
request.Method = "POST";
string postdata = "Title=test&CategoryID=1";
byte[] data = Encoding.UTF8.GetBytes(postdata);
using (var requestStream = await Task<Stream>.Factory.FromAsync(request.BeginGetRequestStream, request.EndGetRequestStream, request))
{
await requestStream.WriteAsync(data, 0, data.Length);
}

Я получаю переменную в сценарии php с

<?php
$title = $_POST["Title"];
$categoryID = $_POST["CategoryID"];
...
?>

У кого-то была такая же проблема Вот, но решение не сработало, потому что
1.) WebClient недоступен для WP8
2.) Второе решение вызывает исключение в App.i.g.cs в строке global :: System.Diagnostics.Debugger.Break ()

Проблема просто ничего не происходит. Кто-нибудь сталкивался с такой же проблемой?

0

Решение

Я решил проблему, используя System.Net.Http.HttpClient и System.Net.Http.FormUrlEncodedContent.

using (var client = new HttpClient())
{
client.BaseAddress = new Uri("baseUrl.net");
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("Title", "test")
});

var result = await client.PostAsync("/insert.php", content);
string resultContent = "result: "+result.Content.ReadAsStringAsync().Result;

РЕДАКТИРОВАТЬ: в ожидании PostAsync клиента

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]