gpt4 book ai didi

c# - HTTPWebRequest 唤醒 WIFI?

转载 作者:太空宇宙 更新时间:2023-11-03 14:02:57 28 4
gpt4 key购买 nike

我有一个很简单的问题。

我们使用 BackgroundAgents( Periodic agents ) 来执行一些后台任务,这些任务需要 WiFi(Internet) 连接才能执行 HttpWebRequest。 .正如第二个引用文献中提到的,支持 HttpWebRequest,但问题是如果 Windows Phone 被锁定或闲置超过 1 分钟,WiFi 将被禁用。

根据我所阅读和尝试直到知道的内容,我有两个重要的问题:

  1. Microsoft 是否会根据预定义的时间间隔定期启用 WiFi 以检查新电子邮件或其他通知?如果答案是肯定的,我的后台代理会重新安排并在此间隔期间运行吗?
  2. 直到我发现 HttpWebRequest 在锁定或空闲超过 1 分钟时不会唤醒手机。是这样吗?许多人表示,如果手机已锁定或 1 分钟已过,HttpWebRequest 工作正常。我做不到。

谢谢。

示例代码:

protected override void OnInvoke(ScheduledTask task)
{
ScheduledActionService.LaunchForTest(task.Name, TimeSpan.FromSeconds(120));

MakeHttpRequest("test");
}
private void MakeHttpRequest(string position)
{
if (position != null)
{
var request = (HttpWebRequest)WebRequest.Create(
new Uri("http://mydomain.com/Testing/Details/"+position));
request.BeginGetResponse(r =>
{
var httpRequest = (HttpWebRequest)r.AsyncState;
var httpResponse = (HttpWebResponse)httpRequest.EndGetResponse(r);

using (var reader = new StreamReader(httpResponse.GetResponseStream()))
{
var response = reader.ReadToEnd();

Deployment.Current.Dispatcher.BeginInvoke(new Action(() =>
{
}));
}
}, request);
}
this.NotifyComplete();
}

PS:请记住,当我在使用 USB 电缆将应用程序连接到计算机时运行此代码时,一切运行正常。这就是为什么我认为后台工作人员有问题,它不会唤醒手机 + WiFi 来执行 HttpWebRequest。

最佳答案

根据我日常使用手机的经验,Windows Phone 在锁定后不会重新启用 wifi,除非手机已插入并正在充电。它还允许在禁用 wifi 之前完成已经开始的数据传输。

但是,即使手机尝试定期重新连接,某些 wifi 提供商也会在用户每次重新连接时重定向到身份验证页面进行身份验证,而 Windows Phone 不会处理这种情况。

实际上,当用户拿着手机四处走动时,您无法保证数据服务可用,因此处理该问题应该是应用程序代码正常路径的一部分。

关于c# - HTTPWebRequest 唤醒 WIFI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10251373/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com