专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Silverlight

Silverlight WCF RIA连接数据库,MainPage得不到返回的List,该怎么解决

发布时间:2011-06-27 20:17:18 文章来源:www.iduyao.cn 采编人员:星星草
Silverlight WCF RIA连接数据库,MainPage得不到返回的List
定义如下一个类:
  public class CDB_Bureau
  {
  public string bureauID { set; get; }
  public string name { set; get; }
  }

在DomainService中定义如下一个方法:
[EnableClientAccess()]
  public class DBQueryService : DomainService
  {
  public List<CDB_Bureau> getAllDBBureau(string tablename)
  {
  List<CDB_Bureau> pList = new List<CDB_Bureau>();
  //操作过程省略  
  return pList;
  }
  }

在MainPage中调用过程如下:
定义一个全局变量:List<Web.CDB_BureauData> listBureauData = new List<Web.CDB_BureauData>();

  //再在函数中调用
  private TreeView tree_AddToAccordion(Category category)
  {
  Web.Service.DBQueryContext pService=new Web.Service.DBQueryContext();
  pService.getAllDBBureau("dog_plan_bureau", this.After_getAllDBBureau, null);  
  }

  private void After_getAllDBBureau(InvokeOperation<List<Web.CDB_Bureau>> callback)
  {
  foreach (Web.CDB_Bureau pBU in callback.Value)
  {
  listBureau.Add(pBU);
  }
  }
调试发现,listBureauData为空,没有得到正确的结果。

------解决方案--------------------
getAllDBBureau是否已经运行?试着debug一下,看看数据集合是否返回正常。
------解决方案--------------------
你的 tree_AddDataToTree(pTV ,listBureau); 应该写到 After_getAllDBBureau 里边,而不是 TreeView tree_AddToAccordion 里边。
------解决方案--------------------
编写异步程序,很容易犯下这类函数式思维的毛病。我们使用函数式的编程习惯了,总觉得什么都是“调用函数——等待返回结果——然后执行下一个函数.....”。异步哪里是这个方法啊。

所以我说F#其实也是一种玩具,而不是适合进行大规模异步程序设计的。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: