我正在创建一个简单的应用程序,使用http get请求将位置数据发送到服务器。 问题是请求仅在第一次发出,尽管它位于positionchanged事件处理程序中。
这是我的代码。我找不到它有什么问题。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using System.Device.Location;
namespace kechap
{
public partial class MainPage : PhoneApplicationPage
{
GeoCoordinateWatcher gw = new GeoCoordinateWatcher();
Uri url = new Uri("http://127.0.0.1:5000/upload/1e3fae069dd62fa1641183cd77092ed2053a0e75/1/2");
// Constructor
public MainPage()
{
InitializeComponent();
gw.MovementThreshold = 10;
gw.PositionChanged += (s, e) =>
{
MyMap.Center = e.Position.Location;
MyPushpin.Location = e.Position.Location;
WebClient wc = new WebClient();
wc.OpenReadAsync(url);
wc.OpenReadCompleted += (ss, ee) =>
{
};
};
gw.Start();
}
}
}
答案 0 :(得分:2)
猜测我会说,你发布的代码中的URI在调用之间没有变化,在第一次之后从缓存中解析。我建议你使用年龄较大的hack来附加一个参数并给它一个随每次调用而变化的值(例如你似乎要报告的位置)。