ria server 异步获得数据返回的问题
GetVar是从列表获得数据,如果已经存在则返回,不存在就从数据库读出并加入列表并返回,异步操作如何实现?
public app_var GetVar(String sFormName)
{
var sList = from c in sVarList where c.curXamlForm.name == sFormName select c;
if (sList.Count() > 1)
{
DogMsg.SendErrorMsg("GetVar:" + sFormName + "出现多个同名");
return null;
}
if (sList.Count() == 1)
return sList.FirstOrDefault();
if (sList.Count() == 0)
{
InvokeOperation<app_var> invokeOp = newDS.GetCurForm(sFormName, GetNameCallBack, null);
}
return null;
}
private void GetNameCallBack(InvokeOperation<app_var> invokeOp)
{
if (invokeOp.HasError)
{
MessageBox.Show(string.Format("Method Failed: {0}", invokeOp.Error.Message));
invokeOp.MarkErrorAsHandled();
}
else
{
app_var newFrm = invokeOp.Value;
sVarList.Add(newFrm);
}
}
[解决办法]
silverlight 获取数据都是异步获取的
你是说异步判断是否存在吗
[解决办法]
正如 luoSaiMingJavaAndC ,silverlight获取数据都是异步的。
WCF RIA Services 不是有一个 LoadOperation<TEntity>(表示一个异步加载操作) 吗,你的 InvokeOperation 是什么?
你并不需要自己写异步。