微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Silverlight调用WCF服务引用示例

转载出处:http://www.cnblogs.com/subin1990/archive/2013/03/06/2946170.html


2013-03-06 15:22 by jinjinledao, 1353 阅读, 0 评论收藏编辑

这是我在项目中用到的一种Silverlight调用WCF服务的方法,现在记录下来,加深记忆。(以进行数的N次方计算为例)

  1. 添加项目“SimpleWCF.Contract”,这里写的是WCF服务的协定。

    在这个项目里添加一个接口,该接口含有一个进行N次方计算的方法

    

复制代码

 1     [ServiceContract]
 2     public interface ISquareService
 3     {
 4         #region 获取某数的N次方值
 5         /// <summary>
 6         /// 说明:获取某数的N次方值
 7         </summary>
 8         <param name="dbValue">要进行求方计算的数</param>
 9         <param name="intNum">几次方10         <returns>String类型的计算结果</returns>
11         [OperationContract]
12         String GetSquareValue(double dbValue,int intNum);
13         #endregion
14     }

  2. 添加项目“SimpleWCF.Implement”,这里是WCF服务的实现。

    在这个项目中添加一个类,继承"SimpleWCF.Contract"中的接口。

    

  3. 添加项目“SimpleWCF.Service”,这个项目用来统一管理WCF服务。

    右键项目,添加名为“SquareService.svc”的WCF服务。删去自动生成的接口和代码实现类。

    右击该服务,选择“查看标记”,修改Service项的值为“SimpleWCF.Implement.SquareService ”。

    修改完成后,可右击该服务,选择“在浏览器中查看”,查看该服务。

  4. 添加Silverlight项目“SimpleWCF.Client”,自动生成一个承载该项目的Web项目“SimpleWCF.Client.Web”。

    在“SimpleWCF.Client”中,添加服务引用。

      

      点击“发现”按钮可找到系统中可用的WCF服务。修改命名空间为“SquareService”,这些就可以在Silverlight程序中调用该服务了。

     

1 2 说明:单击“计算”按钮,得到计算结果 3 4 <param name="sender"></param> <param name="e"></param> 6 private void btncalculate_Click(object sender,RoutedEventArgs e) 7 { 8 SquareService.SquareServiceClient clientSquare = new SquareService.SquareServiceClient(); 9 clientSquare.GetSquareValueCompleted += new EventHandler<SquareService.GetSquareValueCompletedEventArgs>(clientSquare_GetSquareValueCompleted); 10 11 clientSquare.GetSquareValueAsync(double.Parse(this.txtNumber.Text),255); line-height:1.5!important">int.Parse(this.txtN.Text)); 12 } 13 14 15 说明:将计算结果显示在下方的文本框中 16 17 18 19 void clientSquare_GetSquareValueCompleted(20 { this.txtResultValue.Text = 计算结果:" + e.Result; 22 }

    结果如下图:

    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐