现网上关于WCF所谓是很多,但好书很少.Programming WCF Services 应该算是一本非常好的书。结合书和代码总结一下.

一.服务器端操作重载

1.接口本身支持重载

interface ICalculator{int Add(int arg1, int arg2);double Add(double arg1, double arg2);}

2.若将此接口作为服务契约,WSDL规定方法不可重载

以下定义是错误的

//Invalid contract definition:[ServiceContract]interface ICalculator{[OperationContract]int Add(int arg1, int arg2);[OperationContract]double Add(double arg1, double arg2);}

3.可以用OperationContract的Name属性设置方法的别名

[ServiceContract]interface ICalculator{[OperationContract(Name = "AddInt")]int Add(int arg1, int arg2);[OperationContract(Name = "AddDouble")]double Add(double arg1, double arg2);}

这样客户端就会生成AddInt和AddDouble方法.客户端会生成如下代码

[ServiceContract]interface ICalculator{[OperationContract]int AddInt(int arg1, int arg2);[OperationContract]double AddDouble(double arg1, double arg2);}class CalculatorClient : ClientBase<ICalculator>, ICalculator{public int AddInt(int arg1, int arg2){return Channel.AddInt(arg1, arg2);}public double AddDouble(double arg1, double arg2){return Channel.AddDouble(arg1, arg2);}//Rest of the proxy}

最好是避免这种写法,直接修改方法名

二.客户端操作重载

也可以在客户端指定别名

[ServiceContract]interface ICalculator{[OperationContract(Name = "AddInt")]int Add(int arg1, int arg2);[OperationContract(Name = "AddDouble")]double Add(double arg1, double arg2);}class CalculatorClient : ClientBase<ICalculator>, ICalculator{public int Add(int arg1, int arg2){return Channel.Add(arg1, arg2);}public double Add(double arg1, double arg2){return Channel.Add(arg1, arg2);}//Rest of the proxy}

转载于:https://www.cnblogs.com/Clingingboy/archive/2010/08/26/1809589.html

WCF Basic(1)-操作重载相关推荐

  1. WCF中的方法重载 实现

    操作重载 注意:WCF是不支持重载的,如果硬是写成重载的话,会抛出异常 InvalidOperationException,但是我们可以模拟! 原C#中的方法重载: interface ICalcul ...

  2. 继承关系中的拷贝构造函数和赋值操作重载函数分析

    文章目录 1 继承关系中的拷贝构造函数和赋值操作重载函数分析 1 继承关系中的拷贝构造函数和赋值操作重载函数分析 在继承关系中,如果子类未实现拷贝构造函数,那么在子类进行拷贝构造操作时,会直接调用父类 ...

  3. 用VisualStudio2010学习WCF服务编程总结(1)操作重载

    一.服务端: 新建WCF服务应用程序 1,服务契约 1 [ServiceContract] 2 public interface ICalculator 3 { 4         [Operatio ...

  4. [WCF编程]10.操作:回调操作

    一.回调操作概述 WCF支持服务将调用返回给它的客户端.在回调期间,许多方面都将颠倒过来:服务将成为客户端,客户端将编程服务.回调操作可以用在各种场景和应用程序中,但在涉及事件或者服务发生时间需要通知 ...

  5. Silverlight3系列(一)Silverlight配合WCF进行数据库操作

    1.环境配置 本文的Silverlight版本为Silverlight3,具体的配置过程可以参考:http://www.cnblogs.com/psunny/archive/2009/08/31/15 ...

  6. C++ primer 第14章 操作重载与类型转换

    文章目录 基本概念 直接调用一个重载的运算符函数 某些运算符不应该被重载 使用与内置类型一致的含义 选择作为成员或者非成员 输入和输出运算符 重载输出运算符<< 输出运算符尽量减少格式化操 ...

  7. C++ 操作重载与类型转换 《C++Primer》第14章 读书笔记

    本章内容一览: 1.基本概念 和 限制条件 只有重载的函数调用运算符operator()能有默认实参,其他重载运算符不能有默认实参. 一个重载的运算符,至少含有一个类类型的参数. 可被重载的运算符: ...

  8. WCF Ria Service“操作失败,指定的命名链接在配置中找不到”错误解决方法

    如果你遇到下面的错误: 第一反应应该是web.config中的链接字符串定义不正确,或者没有定义."命名连接"是根据什么命名的呢?打开Ado.net数据实体文件.edmx文件,查看 ...

  9. WCF中的Stream操作

    WCF支持对Stream对象的操作,尤其对于传递size过大的消息而言,如要考虑传递消息的效率,WCF推荐通过Stream进行操作. 然而,WCF对于Stream操作规定了一些限制,在我们编写相关程序 ...

最新文章

  1. redis最大储存512m_redis系列篇01
  2. Non Hybrid Long Read Consensus Using Local De Bruijn Graph Assembly
  3. C++基本语法( Visual Studio 2015 )【个人 见解】
  4. 移动支付批量制卡系统架构
  5. 云麦小米华为体脂秤怎么样_测评华为智能体脂秤,比小米智能体重秤贵30元到底差别在哪里?...
  6. Git初学札记(七)————合并分支(merge)
  7. android外部sd卡,Android 操作外部SD卡问题
  8. Intel 64/x86_64/IA-32/x86处理器 - 通用指令(9/E) - 比特位操控指令(BMI1 BMI2)
  9. 北航|北京航空航天大学|介绍|简介
  10. 2022年中国研究生数学建模竞赛
  11. VGG19识别CIFAR10数据集(Pytorch实战)
  12. 阿里云商标注册价格和费用
  13. Andriod 实现一个类微信聊天界面 (二)
  14. POJ 1371 Tin Cutter 笔记
  15. 【2020牛客多校】第九场 K The Flee Plan of Groundhog——BFS
  16. yum 无法安装gcc 出现Run “yum repolist all” to see the repos you have异常
  17. 神奇葩! 史上最牛的博士论文答辩
  18. Windows漏洞修复服务器,Windows Server 2008相关系统漏洞修复
  19. 梯度消失/爆炸与RNN家族的介绍(LSTM GRU B-RNN Multi-RNNs)-基于cs224n的最全总结
  20. SEO搜索引擎优化(总结学习)

热门文章

  1. RSS你会用了吗?答曰:不会
  2. asp.net控件开发基础(2)
  3. 叠数的加法与字符串 RUNOOB python练习题 18
  4. 组织在召唤:如何免费获取一个js.org的二级域名
  5. 第四章 大网高级   NSSA
  6. 快速理解和使用 ES7 await/async
  7. Udi Dahan对于业务逻辑重用以及微服务方面的观点
  8. Android 短信解析
  9. Lync Server 2010所需媒体网络流量带宽详解和计算
  10. 正则表达式matlab,正则表达式中一个word的匹配 @MATLAB - 优秀的Free OS(Linux)版 - 北大未名BBS...