【发布时间】:2013-10-16 21:40:14
【问题描述】:
我想在 windows phone 7 后台代理中的定期任务上创建一个 HTTPRequest。 为了简单起见,我只想在 backgroundAgent 和应用程序之间的共享类上调用一个方法。
共享方法是一个简单的 HTTPRequest。
在 SharedClass.cs 中 makeTheRequest()
public static void makeTheRequest(){
var request = (HttpWebRequest)WebRequest.Create(new Uri("http://foo.bar"));
request.BeginGetResponse(r =>
{
NotifyComplete();
}, request);
}
我无法在此处调用 notifyComplete(),因为不在范围内。
BackgroundAgent.cs onInvoke()
protected override void OnInvoke(ScheduledTask task)
{
if (task is PeriodicTask)
{
SharedClass.makeTheRequest();
NotifyComplete();
}
}
当我在这里调用它时,可能 makeTheRequest() 永远不会完成,因为该进程在完成之前就被杀死了
我读过一些关于 Taks Parallel library 的内容,但我不知道这是否是正确的做法,也不知道如何去做。
谢谢
【问题讨论】:
标签: c# silverlight windows-phone-7 httprequest task-parallel-library