一、服务端重载

  一般写法直接重载,但是会报错,如下。

[ServiceContract]
public interface IService1
{ [OperationContract]
string GetData(int value); [OperationContract]
string GetData(string value); [OperationContract]
CompositeType GetDataUsingDataContract(CompositeType composite); // TODO: 在此添加您的服务操作
}

  修改后如下

ServiceContract]
public interface IService1
{ [OperationContract(Name ="GetDataInt")]
string GetData(int value); [OperationContract(Name ="GetDataString")]
string GetData(string value); [OperationContract]
CompositeType GetDataUsingDataContract(CompositeType composite); // TODO: 在此添加您的服务操作
}

发现可以了

自动生成代理,方法名字和方法契约名字一样了。

[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService1/GetDataInt", ReplyAction="http://tempuri.org/IService1/GetDataIntResponse")]
string GetDataInt(int value); [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService1/GetDataInt", ReplyAction="http://tempuri.org/IService1/GetDataIntResponse")]
System.Threading.Tasks.Task<string> GetDataIntAsync(int value); [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService1/GetDataString", ReplyAction="http://tempuri.org/IService1/GetDataStringResponse")]
string GetDataString(string value); [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService1/GetDataString", ReplyAction="http://tempuri.org/IService1/GetDataStringResponse")]
System.Threading.Tasks.Task<string> GetDataStringAsync(string value);

二、客户端方法重载

代理类中方法,进行修改

修改前(代码中可以new一个服务实例,然后把方法打出来,F12过去)

 public string GetDataInt(int value) {
return base.Channel.GetDataInt(value);
} public System.Threading.Tasks.Task<string> GetDataIntAsync(int value) {
return base.Channel.GetDataIntAsync(value);
} public string GetDataString(string value) {
return base.Channel.GetDataString(value);
}

修改后

 public string GetData(int value) {
return base.Channel.GetDataInt(value);
} public System.Threading.Tasks.Task<string> GetDataIntAsync(int value) {
return base.Channel.GetDataIntAsync(value);
} public string GetData(string value) {
return base.Channel.GetDataString(value);
}

WCF-方法重载的更多相关文章

  1. WCF实现方法重载

    一.服务契约(包括回调契约)通过指定不同的OperationContract.Name来实现重载方法,当然代码部份还是必需符合C#的重载要求,即相同方法名称,不同的参数个数或参数类型 namespac ...

  2. c# 动态调用WCF方法笔记!

    //动态调用wcf方法 string url = "http://localhost:54379/ServiceWCF.svc"; IDoubleService proxy = W ...

  3. java方法重载(overload)、重写(override);this、super关键简介

    一.方法重载: 条件:必须在一个类中,方法名称相同,参数列表不同(包括:数据类型.顺序.个数),典型案例构 造方重载.  注意:与返回值无关 二.方法重写: 条件: (1)继承某个类或实现某接口 (2 ...

  4. Java之方法重载篇(我重载了,你要如何来调用我。。)

      一.课前引言 请看一下代码,你发现什么特殊之处了吗? public class MethodOverload { public static void main(String[] args) { ...

  5. 【java开发】方法重写和方法重载概述

    类的继承   父类-子类 关键字 extends 新建一个父类 public class Person {     private String name;          private int ...

  6. 方法构造和方法重载之奥特曼与大boss之战

    知识点的总结: 1.类中的方法分为两类:1.普通方法: 2.构造方法. 2.构造方法的格式:  public 类名(数据类型  参数名,...){ } 3.构造方法的用途:  1.实例化对象.  2. ...

  7. JavaScript中的方法重载

    对js有些了解的人都知道,在js中根本就不存在像C#中的那种方法重载,而有的只是方法的覆盖,当你在js中敲入两个或多个同名的方法的时候,不管方法(函数)的参数个数怎么个不同,这个方法名只能属于最后定义 ...

  8. PHP面向对象编程——深入理解方法重载与方法覆盖(多态)

    什么是多态? 多态(Polymorphism)按字面的意思就是“多种状态”.在面向对象语言中,接口的多种不同的实现方式即为多态.引用Charlie Calverts对多态的描述——多态性是允许你将父对 ...

  9. c#方法重载,可选参数,命名参数。

    其实这里没什么可说哦,c++的语法大同小异.先看一段代码. class Program { public static void Test(int a) { Console.WriteLine(&qu ...

  10. java中的方法重载与重写以及方法修饰符

    1. 方法重载Overloading , 是在一个类中,有多个方法,这些方法的名字相同,但是具有不同的参数列表,和返回值 重载的时候,方法名要一样,但是参数类型和参数个数不一样,返回值类型可以相同,也 ...

随机推荐

  1. Vue实现图片预加载

    <script>export default { data () { return { count: 0, } }, mounted: function() { this.preload( ...

  2. nginx配置socket连接

    author: headsen  chen date:  2019-08-08 18:52:36 notice :个人原创 Nginx通过在客户端和后端服务器之间建立隧道来支持WebSockets通信 ...

  3. 读《中国人工智能与 IJCAI 的 40 周年,还有哪些未曾对外诉说的故事?》

    原文地址: https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_10186783044528 ...

  4. PPT插件(islide)

    https://www.islide.cc/features iSlide 主要功能模块   一键优化 将PPT中不规则的字体,段落,色彩,参考线布局,风格样式等一键化全局统一设置,构建专业和规范. ...

  5. Dart中的类型转换总结:

    1.Dart中数组转换为字符串:join var a=[1,2,3,4]; var str=a.join(',');

  6. Tomcat 目录结构以及相关规范的介绍

    目录 安装tomcat tomcat目录结构 tomcat/bin目录 tomcat/conf目录 tomcat/logs目录 JavaEE对项目结构的规范 war包 安装Tomcat 参考:安装Ja ...

  7. linux添加动态库路劲

    修改这个文件/etc/ld.so.conf.d,最后加上so的绝对路径即可

  8. 【设备问题】罗技M590鼠标无法连接Macbook Pro问题解决

    问题现象 罗技蓝牙鼠标连接的时候一直显示连接中,但是一直连接不上. 解决方法 长按那个切换模式的按钮,重置下,再点击连接,显示能够连接成功.

  9. 123457123456#0#----com.DoraGame.YingYu65--前拼后广--儿童英语doraX

    com.DoraGame.YingYu65--前拼后广--儿童英语doraX

  10. 报错:Configured broker.id 68 doesn't match stored broker.id 113 in meta.properties

    报错背景: CDH中安装完成kafka的组件后不能成功启动,发现UI界面中的broker.id和服务器中的broker.id不一致, 因此更改了服务器中broker.id 但是更改完成之后还是报错. ...