WCF Basic(1)-操作重载
现网上关于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)-操作重载相关推荐
- WCF中的方法重载 实现
操作重载 注意:WCF是不支持重载的,如果硬是写成重载的话,会抛出异常 InvalidOperationException,但是我们可以模拟! 原C#中的方法重载: interface ICalcul ...
- 继承关系中的拷贝构造函数和赋值操作重载函数分析
文章目录 1 继承关系中的拷贝构造函数和赋值操作重载函数分析 1 继承关系中的拷贝构造函数和赋值操作重载函数分析 在继承关系中,如果子类未实现拷贝构造函数,那么在子类进行拷贝构造操作时,会直接调用父类 ...
- 用VisualStudio2010学习WCF服务编程总结(1)操作重载
一.服务端: 新建WCF服务应用程序 1,服务契约 1 [ServiceContract] 2 public interface ICalculator 3 { 4 [Operatio ...
- [WCF编程]10.操作:回调操作
一.回调操作概述 WCF支持服务将调用返回给它的客户端.在回调期间,许多方面都将颠倒过来:服务将成为客户端,客户端将编程服务.回调操作可以用在各种场景和应用程序中,但在涉及事件或者服务发生时间需要通知 ...
- Silverlight3系列(一)Silverlight配合WCF进行数据库操作
1.环境配置 本文的Silverlight版本为Silverlight3,具体的配置过程可以参考:http://www.cnblogs.com/psunny/archive/2009/08/31/15 ...
- C++ primer 第14章 操作重载与类型转换
文章目录 基本概念 直接调用一个重载的运算符函数 某些运算符不应该被重载 使用与内置类型一致的含义 选择作为成员或者非成员 输入和输出运算符 重载输出运算符<< 输出运算符尽量减少格式化操 ...
- C++ 操作重载与类型转换 《C++Primer》第14章 读书笔记
本章内容一览: 1.基本概念 和 限制条件 只有重载的函数调用运算符operator()能有默认实参,其他重载运算符不能有默认实参. 一个重载的运算符,至少含有一个类类型的参数. 可被重载的运算符: ...
- WCF Ria Service“操作失败,指定的命名链接在配置中找不到”错误解决方法
如果你遇到下面的错误: 第一反应应该是web.config中的链接字符串定义不正确,或者没有定义."命名连接"是根据什么命名的呢?打开Ado.net数据实体文件.edmx文件,查看 ...
- WCF中的Stream操作
WCF支持对Stream对象的操作,尤其对于传递size过大的消息而言,如要考虑传递消息的效率,WCF推荐通过Stream进行操作. 然而,WCF对于Stream操作规定了一些限制,在我们编写相关程序 ...
最新文章
- redis最大储存512m_redis系列篇01
- Non Hybrid Long Read Consensus Using Local De Bruijn Graph Assembly
- C++基本语法( Visual Studio 2015 )【个人 见解】
- 移动支付批量制卡系统架构
- 云麦小米华为体脂秤怎么样_测评华为智能体脂秤,比小米智能体重秤贵30元到底差别在哪里?...
- Git初学札记(七)————合并分支(merge)
- android外部sd卡,Android 操作外部SD卡问题
- Intel 64/x86_64/IA-32/x86处理器 - 通用指令(9/E) - 比特位操控指令(BMI1 BMI2)
- 北航|北京航空航天大学|介绍|简介
- 2022年中国研究生数学建模竞赛
- VGG19识别CIFAR10数据集(Pytorch实战)
- 阿里云商标注册价格和费用
- Andriod 实现一个类微信聊天界面 (二)
- POJ 1371 Tin Cutter 笔记
- 【2020牛客多校】第九场 K The Flee Plan of Groundhog——BFS
- yum 无法安装gcc 出现Run “yum repolist all” to see the repos you have异常
- 神奇葩! 史上最牛的博士论文答辩
- Windows漏洞修复服务器,Windows Server 2008相关系统漏洞修复
- 梯度消失/爆炸与RNN家族的介绍(LSTM GRU B-RNN Multi-RNNs)-基于cs224n的最全总结
- SEO搜索引擎优化(总结学习)
热门文章
- RSS你会用了吗?答曰:不会
- asp.net控件开发基础(2)
- 叠数的加法与字符串 RUNOOB python练习题 18
- 组织在召唤:如何免费获取一个js.org的二级域名
- 第四章 大网高级 NSSA
- 快速理解和使用 ES7 await/async
- Udi Dahan对于业务逻辑重用以及微服务方面的观点
- Android 短信解析
- Lync Server 2010所需媒体网络流量带宽详解和计算
- 正则表达式matlab,正则表达式中一个word的匹配 @MATLAB - 优秀的Free OS(Linux)版 - 北大未名BBS...