我已经安装了Microsoft AsyncTargetingPack,以便在特定的RIA调用操作中使用async / await。 我还阅读了很多关于实现的内容以及关于为Kyle McClellan& amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; Oren Beeri [在RIA中使用新的Async框架] [1] [1]:https://zormim.wordpress.com/2011/01/06/using-the-new-async-framework-with-ria/
我使用他的扩展名如下: 此 async 方法将等待 RIA 调用方法,以将结果返回给调用者true / false。
public async Task<bool> CheckAccountDuplicates(string name, string id)
{
bool ret = false;
Debug.WriteLine("In func");
ret = await Context.InvokeAsync(() => Context.AccountNameExists(name, id));
Debug.WriteLine(ret);
return ret;
}
调用者是另一种方法如下:
public bool SaveRecs(ObservableCollection<Acc> accList)
{
int i = 0;
foreach (Acc item in accList)
{
if (CheckAccountDuplicates(item.name, item.id)) continue;
item.id = MaxID + i;
Context.Accs.Add(item);
i++;
}
return Commit();
}
正如您所看到的,此方法需要确保在尝试将其添加到上下文之前不存在Acc'name'。
问题是调试一次写入“In Func”值,应用程序停止...... !!! 根本没有回应。
我做错了什么?