Windows Phone 怎么发一个同步web请求?

nicholas.wu 2014-06-12 03:28:04
背景:Windows Phone应用启动的时候,即在Application_Launching中需要请求一个app_init接口,根据请求回来的数据判断是否能够启动,而且后续的web请求都需要带上此次请求回来的一个参数

但现在wp里的请求比如WebClient都是异步的请求,即我在Application_Launching里发出一个WebClient的请求,请求结果还没有回来,已经进入到main_page中去了(因为请求是异步的),

发现用await 也不行,官方有个例子http://code.msdn.microsoft.com/wpapps/Making-an-await-WebClient-dd9a53d8,



strResult还没得到值,就执行ui线程看到界面了,我无法对strResult先进行判断执行其他操作。
请指导
...全文
755 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
#blackheart 2014-06-25
  • 打赏
  • 举报
回复
弄个假首页,里面放和启动画面一样的图片,在异步完成后再进去真正的首页,然后移出假首页的历史堆栈。
beyondma 2014-06-13
  • 打赏
  • 举报
回复
考虑一下有没有别的逻辑,你是否可以在收到返回后再进入主界面?
gnimgnot 2014-06-13
  • 打赏
  • 举报
回复
你可以把这个判断放到第一页面来做。
nicholas.wu 2014-06-13
  • 打赏
  • 举报
回复
引用 6 楼 FreeSarge 的回复:
我用的时候 异步的 不知道啥时候出同步了, 首先 Application_Launching 超过一定时间不启动就直接 退出了,几秒忘记了,好像很短。 Application_Launching 里堵塞主线程的做法应该行不通。 如果你打算在ui页面做的话,你可以这样试试。 然后,如果你的服务能快速访问的话。 新建 new Thread(() => 发送异步请求,然后递归等待 中间你可以Thread.Sleep(1000);等待,最后等待 异步返回。
很难破,不知道他Dev Center 那个app是怎么搞的
指间的风 2014-06-13
  • 打赏
  • 举报
回复
我用的时候 异步的 不知道啥时候出同步了, 首先 Application_Launching 超过一定时间不启动就直接 退出了,几秒忘记了,好像很短。 Application_Launching 里堵塞主线程的做法应该行不通。 如果你打算在ui页面做的话,你可以这样试试。 然后,如果你的服务能快速访问的话。 新建 new Thread(() => 发送异步请求,然后递归等待 中间你可以Thread.Sleep(1000);等待,最后等待 异步返回。
nicholas.wu 2014-06-13
  • 打赏
  • 举报
回复
引用 3 楼 cuit 的回复:
你可以把这个判断放到第一页面来做。
和官方那个Dev Center app差不多,进入前会先验证,验证通过再进入
nicholas.wu 2014-06-12
  • 打赏
  • 举报
回复
引用 1 楼 lixygibli 的回复:
你的sdk是8还是7,如果是7需要为项目添加额外的扩展dll。
已经是8 了,8怎么破?
愤怒的猪头君 2014-06-12
  • 打赏
  • 举报
回复
你的sdk是8还是7,如果是7需要为项目添加额外的扩展dll。

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧