在模糊的WP8上简单的http请求

时间:2014-03-11 14:28:40

标签: c# http windows-phone-8

所以基本上我做了它,所以我的应用程序在后台运行,如果手机被锁定

PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;
PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;

然后我创建了一个事件,所以当应用程序被遮挡(手机被锁定)时,它会运行以下操作。

PhoneApplicationFrame phoneAppRootFrame = RootFrame;
App.RootFrame.Obscured += RootFrame_Obscured;

现在这是我的请求代码..它有一些问题,虽然我不知道是什么。我一直在尝试这么多不同的方式来做一个简单的get请求,我甚至不需要解析任何响应。它似乎永远不会起作用,无论如何它是:

private void RootFrame_Obscured(object sender, ObscuredEventArgs e)
{
  string url = "http://localhost:8080/someserver/javaQuery?request=storeId&id=someId";
  HttpWebRequest webRequest = (HttpWebRequest)HttpWebRequest.CreateHttp(url);
  webRequest.BeginGetResponse(new AsyncCallback(httpComplete), webRequest);
}

private static void httpComplete(IAsyncResult asyncResult){

}

我完全肯定RootFrame_Obscured函数正在运行,但请求代码本身可能是错误的。任何见解都会有所帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

您不能在锁定屏幕下执行网络呼叫。

Checklist for apps that disable app idle detection

  

如果您的Windows Phone应用程序禁用应用程序空闲检测以在...下运行   锁屏,你应该执行以下任务来减少你的工作   锁定屏幕启动时应用程序的耗电量。

     
      
  • 向您的应用发出新网络信号   不应执行请求和隔离存储操作。
  •   

如果您需要跟踪此事件,可以在Unobscured事件处理程序中执行此操作。