【发布时间】:2014-02-15 22:30:16
【问题描述】:
经验法则:如果不是 UI 相关的方法,请使用Task.ConfigureAwait(false)。
如果我有一个接受接口IUIAccess 的 PCL 核心库怎么办。
核心库中的视图模型则有一个方法:
public Task ViewModelLoginAsync()
{
bool success = await loginService.ServiceLoginAsync();
if(!success)
{
uiAccess.ShowInfoDialog("Login failed.");
}
}
IUIAccess 在 iOS 上会显示 UIAlertView。
我现在的假设是:如果我从 UIViewController 调用 ViewModelLoginAsync,我不应该将 await 配置为 FALSE。它显然是 UI 代码。
但是对ServiceLoginAsync 的调用可以使用configure await false。它是否正确?
由于性能、内存使用等原因,它只是一种好的做法还是真的被推荐?
【问题讨论】:
标签: c# xamarin async-await