使用get发送位置

时间:2013-02-09 13:21:57

标签: windows-phone-7

我正在创建一个简单的应用程序,使用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();
        }

    }
}

1 个答案:

答案 0 :(得分:2)

猜测我会说,你发布的代码中的URI在调用之间没有变化,在第一次之后从缓存中解析。我建议你使用年龄较大的hack来附加一个参数并给它一个随每次调用而变化的值(例如你似乎要报告的位置)。