Windows Phone 8 C # httpclient отправляет запрос во второй раз

я пытаюсь для простого приложения в Windows Phone 8.1. У меня есть кнопка, и при первом щелчке она отправляет запрос на вставку данных в базу данных через URL в php. при втором щелчке он удаляет данные из той же таблицы в базе данных через другой URL в php. когда я впервые запускаю его. он отправил мне следующий ответ от httpclient response

 StatusCode:200, ReasonPhase:'ok',
version:0.0,content:
System.Net.Http.streamContent,headers:
{
Date:thu,04 jun 2015 08:29:50 GMT
server:apache
server:phusion_passage/4.0.10
server: mod_bwlimited/1.4/5
server:mod_fcgid/2.3.9
X-powered-by:PHP/5.4/5.4.36
Keep-Alive:timeout=3,max=30
connection:keep-alive
Transfer-encoding:chunked
content-Type:text/html
}

и на втором клике я также получаю тот же ответ для удаления. если я снова нажму кнопку, я получу следующее сообщение

StatusCode:200, ReasonPhase:'ok',
version:0.0,content:
System.Net.Http.streamContent,headers:
{
X-powered-by:PHP/5.4/5.4.36
Keep-Alive:timeout=3,max=30
Transfer-encoding:chunked
content-Type:text/html
}

и, очевидно, данные не вставляются в базу данных.

я в чрезвычайной ситуации, чтобы запустить его, так как это небольшая часть большого проекта.
мой код выглядит следующим образом:

объявление:

 url = "http://demo.in/customer_info.php?";
url_delete = "http://demo.in/delete_noti.php?device_id=";

data1 = url + "device_id=4000";

data_delete = url_delete + "4000";

метод:

   private async void sendData(string data)
{
// MessageBox.Show(data1);
using (HttpClient hc = new HttpClient())
{
var response = await hc.GetAsync(data);
MessageBox.Show(response.ToString());
hc.Dispose();
}
}

private async void deleteData(string data)
{
//MessageBox.Show(url_delete1);
using (HttpClient hc = new HttpClient())
{
var response = await hc.GetAsync(data);
//MessageBox.Show(hc1.ToString());
MessageBox.Show(response.ToString());
hc.Dispose();
}
}

использование:

private void btn_click(object sender, RoutedEventArgs e)
{
if (count == 0)
{
sendData(data1);
(sender as Button).Background = new SolidColorBrush(System.Windows.Media.Color.FromArgb(225, 247, 98, 15));
MessageBox.Show("sending");
//    suspend(a);
count = 1;
}
else
{

deleteData(url_delete);

(sender as Button).Background = new SolidColorBrush(Colors.Black);
MessageBox.Show("deleting");
count = 0;
}
}

0

Решение

Как подсказал @Null Pointer, это может быть проблема с кэшированием.

Вы можете добавить случайный параметр в URL, как он сказал, или вы можете добавить эту строку кода, чтобы игнорировать кеш, если вы не можете или не можете добавить параметр в URL:

hc.DefaultRequestHeaders.IfModifiedSince = DateTime.Now;
0

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

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

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