Siverlight +WCF RIA +Oracle探险(1)

     最初接触sivlerlight是2.0的时代,当时处在与对siverlight的摸索阶段,尚未实际开发项目,2009年在esri的arcgis9.1的siverlight接口基础上开发了gis系统,2009年WCF RIA技术出来的时候还没来得及研究,现在又有了一个项目要做,我想是时候尝试WCF RIA了.

     WCF RIA 相比传统的WCF更像是给Siverlight专门定做,不再需要添加web引用,具有更高的安全性,更高的效率,有关WCF RIA与WCF的区别就不单独说了,说说我遇到的问题和解决办法吧.

当决定了采用WCF后,我先上网看看了看例子,感觉简单,就照着做了,不过有点区别的是我的数据库没有采用mssqlserver,原因很简单,电信喜欢oracle。按照说明,第一步:首先我们打开VS2010,新建一个Silverlight应用程序项目

 

第二步:点击确定之后,在弹出的“新建Silverlight应用程序”窗口中,选中“启用 WCF RIA 服务”复选框然后确定。

 

 

第三步:在创建好的项目SilverlightApplication2.Web上点右键,选择添加->新建项,在新建项中选择Domain Sevice Class

 

第四步,因为我没有采用ADO.net Entity FrameWork,因此我没有什么实体对象可以选择的,点确定即可

 

好,系统帮我们生成了MyService类,继承于: DomainService,一切都很好,再尝试加上个函数看看

        public int add(int a, int b)
        {
            return a + b;
        }

编译一下,好像没问题,在Siverlight工程上点显示所有按钮,在解决方案管理器中显示出一个新的目录出现了, 里面有一个SilverlightApplication2.Web.g.cs文件,系统自动帮我们在silverlight客户端生成了服务调用代码,看看吧

add函数已经被加入到这个文件中,我尝试去调用一下看看

对客户端的MainPage的xaml文件进行修改,修改的代码如下

 

 

在MainPage.cs里加上对Add方法的调用

       private void button1_Click(object sender, RoutedEventArgs e)
        {
            Web.MyContext context = new Web.MyContext();
            InvokeOperation<int> data = context.add(int.Parse(textBox1.Text), int.Parse(textBox2.Text));
            data.Completed += (s, ee) =>
              {
                  InvokeOperation<int> oper = (s as InvokeOperation<int>);
                  if (oper.HasError)
                  {
                      MessageBox.Show("读取数据错误,原因是:" + oper.Error.Message, "错误信息!", MessageBoxButton.OK);
                      oper.MarkErrorAsHandled();
                  }
                  else
                  {
                      textBlock2.Text = oper.Value.ToString();
                  }
              };
        }
运行后界面显示上正常显示调用结果

 

看起来一切挺好的,我已经调用WCF成功了,明天继续

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值