Я пытаюсь вставить данные из приложения 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 ()
Проблема просто ничего не происходит. Кто-нибудь сталкивался с такой же проблемой?
Я решил проблему, используя 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 клиента
Других решений пока нет …