消息关闭
    暂无新消息!
背景: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先进行判断执行其他操作。
请指导

5个回答

︿ 2
考虑一下有没有别的逻辑,你是否可以在收到返回后再进入主界面?
︿ 2
我用的时候 异步的
不知道啥时候出同步了,

首先
Application_Launching 超过一定时间不启动就直接 退出了,几秒忘记了,好像很短。
Application_Launching 里堵塞主线程的做法应该行不通。

如果你打算在ui页面做的话,你可以这样试试。
然后,如果你的服务能快速访问的话。
新建  new Thread(() =>
发送异步请求,然后递归等待 
中间你可以Thread.Sleep(1000);等待,最后等待 异步返回。
︿ 0
弄个假首页,里面放和启动画面一样的图片,在异步完成后再进去真正的首页,然后移出假首页的历史堆栈。