System.InvalidOperationException:Task未处于启动的有效状态

时间:2014-09-12 14:55:53

标签: c# xamarin task

Task t = navigation.PushModalAsync(new AuthLoginPage("facebook"));
            t.Start();
            t.Wait();

如何解决异常:System.InvalidOperationException:Task未处于启动的有效状态。

2 个答案:

答案 0 :(得分:0)

您可以遵循以下简单用法: -

// When you wanted to start the Async call.
var t = navigation.PushModalAsync(new AuthLoginPage("facebook"));
.
.
// do your other work.
.
.
.
// when you want the result of the Task t that you have started before.
var result =await t; // task will wait here for getting result for you.

您可以阅读有关async / await的更多信息。很高兴了解async / await,因为它非常强大和简单。看Here for async/await

希望它可以帮到你。

答案 1 :(得分:0)

通常当一个方法返回一个Task时,它已经启动了,所以你不需要显式启动它。

如果您想等待其结果,请使用await => await t;。如果要阻止其执行,请调用Result属性=> t.Result