注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

WCF的学习总结(九)RIA services数据库在Silverlight客户端的调用  

2012-11-14 20:57:49|  分类: NET(C#) |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 

WCF的学习总结(九)RIA services数据库在Silverlight客户端的调用

昨天讲了如何在RIA中将前台和后台的数据交互的方式,今天就讲在SILVERLIGHT端如何调用这些数据结构。对应着上面的几种方式,前台也有几种调用方式,但请注意,他们不是一一对应,而是有的可以通用。也就是说,前台的调用方式和后台的通信方式,没有必然的联系,但有一些还是有联系的。

1、 自定义类,[Invoke]的方式,在前台如下调用:

//第一种方式 成功,错误在于InvokeOperation  invokeOperation 两个单词的开关是否大小写

Test p = new Test();

this.m_test.GetTest(InvokeOperation => {

                     if (InvokeOperation.HasError)

                     { }

                     else

                    { p = InvokeOperation.Value;} },

                     null);

this.textBox1.Text = p.id.ToString();

注意:发布并部署到IIS也没有问题,只要加.xap和.xaml两个MIME类型就行了

2、POCO方式,即在类中必须有 [key]关键字:

    public partial class MainPage : UserControl 

    {

        private SovereignDomainContext _sovereignContext = new SovereignDomainContext(); 

        public MainPage()

        {     

            InitializeComponent(); 

     LoadOperation<Sovereign> loadOp = this._sovereignContext.Load(this._sovereignContext.GetSovereignsByReignEndQuery(1500));

              SovereignGrid.ItemsSource = loadOp.Entities;

        }

    }

2、 第三种方式,和普通的调用方式没有什么区别:

this.dataGridHistroy.ItemsSource = this.m_serviceSqlContext.ParamStructs;

this.m_serviceSqlContext.Load(m_serviceSqlContext.GetAttend_RecStructQuery());

另外说明一下,那种自定义的实体类的方式,也是用上面的方法来实现的。

这三种方式,后两者是有相通之处的,只有前者有些独特。

另外还有需要提醒的是,RIA的数据服务是异步的,所以刚刚加载控件的时候,可能数据不会立刻显示出来,需要等一下,这个时间可长可短,在本地机器测试,发现过超过十秒的,太可怕了。异步看来也有异步的不好啊。

努力,努力,努力学习,努力工作。

  评论这张
 
阅读(777)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017