转载出处:http://www.cnblogs.com/subin1990/archive/2013/03/06/2946170.html
2013-03-06 15:22 by jinjinledao, 1353 阅读, 0 评论, 收藏, 编辑
这是我在项目中用到的一种Silverlight调用WCF服务的方法,现在记录下来,加深记忆。(以进行数的N次方计算为例)
添加项目“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 #endregion14 }
2. 添加项目“SimpleWCF.Implement”,这里是WCF服务的实现。
在这个项目中添加一个类,继承"SimpleWCF.Contract"中的接口。
1 [ServiceBehavior]class SquareService:SimpleWCF.Contract.ISquareService11 public String GetSquareValue(int intNum)12 {13 if (intNum < 0)14 {15 return "求方计算的次方不能小于0!";16 }17 else if (intNum == 18 {19 120 }21 1)22 {23 return dbValue.ToString();24 }25 else26 {27 double dbResultValue = 1;28 29 for (int i = 0; i < intNum; i++)30 {31 dbResultValue *= dbValue;32 }33 34 return dbResultValue.ToString();35 }36 }37 38 }
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 }
结果如下图:
总结
以上是内存溢出为你收集整理的Silverlight调用WCF服务引用示例全部内容,希望文章能够帮你解决Silverlight调用WCF服务引用示例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)