Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在导航事件中使用异步_C#_Asynchronous_Windows Phone 8 - Fatal编程技术网

C# 如何在导航事件中使用异步

C# 如何在导航事件中使用异步,c#,asynchronous,windows-phone-8,C#,Asynchronous,Windows Phone 8,我想知道两者之间的区别 protected async override void OnNavigatedTo(NavigationEventArgs e) 及 在导航方法中使用异步的目的是什么?是否有优势?在什么样的条件下,这样做是最佳的?我以前从未在导航事件中使用过async,但我引用的一个新教程是。不同之处在于,当您将该方法标记为async时,您可以在其中进行异步调用,这不会阻止UI线程。例如:在on navigatedto方法中,可以异步加载一些数据。 正如@Soner Gönül在评

我想知道两者之间的区别

protected async override void OnNavigatedTo(NavigationEventArgs e)


在导航方法中使用异步的目的是什么?是否有优势?在什么样的条件下,这样做是最佳的?我以前从未在导航事件中使用过async,但我引用的一个新教程是。

不同之处在于,当您将该方法标记为async时,您可以在其中进行异步调用,这不会阻止UI线程。例如:在on navigatedto方法中,可以异步加载一些数据。

正如@Soner Gönül在评论中提到的那样,您应该先查阅

您是否阅读了文档?好的,我理解。示例
OnNavigateTo
事件实际上正在使用
wait InitializeCamera(_sensorLocation)。也是一个很好的参考资料。好的,谢谢。我知道,对于可能需要时间或阻塞UI的任务,我应该使用异步方法,但我也看到在不同页面的基本导航中使用了异步方法。我的主要问题是,在决定是否使用异步时,我通常应该寻找什么。@Matthew Well根据MS的说法,任何超过20ms(或者是50…)的时间都应该是异步的。因此,如果您的操作比导航中的操作花费的时间更长,那么它应该是异步的。大多数人使用异步的另一个原因是UI线程应该只做UI工作,其他任何工作都应该在一个单独的线程中(异步方法)。
protected override void OnNavigatedTo(NavigationEventArgs e)