当前位置: 代码迷 >> Silverlight >> ria server 异步获得数据返回的有关问题
  详细解决方案

ria server 异步获得数据返回的有关问题

热度:4544   发布时间:2013-02-26 00:00:00.0
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 是什么?

你并不需要自己写异步。
  相关解决方案