Windows phone 8 Windows Phone emulator 8.1等待InvokeScriptAsync静默崩溃?

Windows phone 8 Windows Phone emulator 8.1等待InvokeScriptAsync静默崩溃?,windows-phone-8,async-await,windows-phone-8-emulator,Windows Phone 8,Async Await,Windows Phone 8 Emulator,为什么这段代码会在我的windows pone 8.1 emulator中悄无声息地崩溃?如果不是第一次点击它,直到它将做第二次或第三次 private async void MainPage_BackPressed(object sender, BackPressedEventArgs e) { var result = await WebViewControl.InvokeScriptAsync("eval", new string[] { document.location.hre

为什么这段代码会在我的windows pone 8.1 emulator中悄无声息地崩溃?如果不是第一次点击它,直到它将做第二次或第三次

private async void MainPage_BackPressed(object sender, BackPressedEventArgs e)
{
    var result = await WebViewControl.InvokeScriptAsync("eval", new string[] { document.location.href" });
    e.Handled = true;
}

您将在事件处理程序返回后设置e.Handled。尝试交换这两行的顺序。是的,这绝对可以防止应用程序崩溃。但我不明白为什么?你能提供一些解释或链接阅读吗?我还需要根据“result”变量采取行动,有什么办法吗?非常感谢@StephenClearyThe wait实际上导致事件处理程序退出。如果您是异步新手,我在我的博客上有一个。同步执行异步工作没有好方法,但如果您发布更多详细信息,我可以建议一些方法。@StephenCleary。问题是。。。上下文:您有一个单页应用程序,它依赖于散列片段在WebView中进行路由。问题:如果调用webViewControll.GoBack,WebView将忽略所有哈希片段,并返回到没有哈希片段的普通URL。示例:Hompage:www.Example.com导航1:www.Example.com->www.Example.com//关于导航2:www.example.com//关于->www.example.com//如果我呼叫GoBack,请联系WebView加载:www.example.com而不是:www.example.com//about@StephenCleary. 因此,我试图实现的是从本机代码var result=wait WebViewControl.InvokeScriptAsyncwindowsPhoneGoBack,null;处理WebView内部的webapplication导航;。当我向webapp发送goback命令时,web app返回它是否返回,然后我可以设置handled=true/false