客户端添加WCF服务引用,自动生成.NET类型

问题描述

WCF服务,客户端可以通过添加服务引用自动生成代理类的!问题来了,在一个项目中添加不同的WCF服务引用,生成的代理类有时有很多类型是重复被代理生成的。比如:添加服务地址A的服务引用,创建出来一个类型A.ClassA,再添加另一个服务地址B的服务引用,又创建出来一个类型B.ClassA,这两个类型在服务端其实都是一个类型定义,只是两个服务接口使用了相同的这个类型ClassA。那么客户端在使用ClassA时有些麻烦,因为添加了多个WCF服务引用,相同类型ClassA的命名空间会不同,有时会造成二义性或两个不同命名空间下的ClassA相互赋值和转换问题。这种现象,在实际做项目时是怎么避免的,应用了哪些好的解决方法?

解决方案

解决方案二:
代理类生成时可以选择契约是用项目中已存在的数据契约,默认是自动创建
解决方案三:
引用1楼starfd的回复:

代理类生成时可以选择契约是用项目中已存在的数据契约,默认是自动创建

是怎么选择契约的呢?可以给个例子吗
解决方案四:
添加服务引用--高级
解决方案五:
[ServiceContract]publicinterfaceITestService1{[OperationContract]TestCustomDataGetVal1();}[ServiceContract]publicinterfaceITestService2{[OperationContract]TestCustomDataGetVal2();}publicclassTestService1:ITestService1{publicTestCustomDataGetVal1(){returnnewTestCustomData(){Name="x1",Age=12};}}publicclassTestService2:ITestService2{publicTestCustomDataGetVal2(){returnnewTestCustomData(){Name="x2",Age=24};}}[DataContract(Name="TcData",Namespace="http://www.cnblogs.com")]publicclassTestCustomData{publicstringName{get;set;}publicintAge{get;set;}}

客户端我添加两个服务引用,配置“始终生成消息约定”,分别是TestService1Reference和TestService2Reference,生成客户端代理,在代码中定义TcDatadata;同样,会报错CS0104,“TcData”是“TestService1Reference.TcData”和“TestService2Reference.TcData”之间的不明确的引用

时间: 2025-01-07 22:07:25

客户端添加WCF服务引用,自动生成.NET类型的相关文章

添加WCF服务引用后,方法参数改变怎么解决

问题描述 原方法:XueShengGetXueShengEntity(Guidid)添加服务引用后调用变成client.GetXueShengEntity(GetXueShengEntityRequestrequest)添加服务引用时已勾掉了生成异步操作.请高手帮忙解答为何会出现该现象,怎么解决! 解决方案 解决方案二:更新服务引用不就行了吗?!解决方案三:添加引用,只是vs帮自动生成了client端的,完全可以自己写一个client端的,只要引用server端的contract就可以的解决方案

写公司管理系统 要求添加人员后,自动生成员工编号?怎么写,求解,谢谢!

问题描述 写公司管理系统 要求添加人员后,自动生成员工编号?怎么写,求解,谢谢! 员工信息里有员工编号,但是添加的时候要求添加员工后自动生成员工编号. 解决方案 数据库写个函数,传员工类型,后面编号最大值+1 拼起来就好了啊 解决方案二: 你的员工编号要求什么样子的?例如:emp1001 解决方案三: 公司有BOSS 经理Manger 普通员工 每个类型区分排号.例如Bxx, Mxx,Cxx 解决方案四: 后面编号长度用到4位(随你),不足用零补齐 解决方案五: 经理Manger 普通员工 每个

急急急,项目需要在Android客户端调用WCF服务,要求WCF能生成Json数据,且提供一个URL,Android端通过该URL发送网络请求得到JSON数据

问题描述 最好能够提供WCF端和Android端的源码,要都能跑起来的,跪求大神啊, 解决方案 解决方案二:所有的编程语言都轻松支持基本的httppost.在这个还没有用起来之前,你纠结WCF为什么啊?解决方案三:WCF原本有其自己的应用范围.现在没人在乎10年前的WCF的那些理想了,它已经不切实际了,世界已经转向更轻.更快.更变化.非rpc的方向了.纠结WCF就好像是躲在学校机房里学习COBOL的人出来找工作,也要先学会用更简单的东西先实现一下相同功能,然后才有一个COBOL的维护工作.解决方

WCF服务引用后,识别不了

问题描述 我写了一个WCF服务,如果在同一个解决方案里面,客户端可以正常的添加引用WCF服务并调用服务端的接口,如下图1.但是如果我用另外一个项目去引用WCF服务,虽然能够引用服务,但是调用不了WCF服务中的接口,如图2和图3[图1][图2][图3] 解决方案 解决方案二:你在另外一个项目的app.config查找IPlateService,看对应的Namespace*****************************************************************

Svcutil怎么对多个WCF服务同时进行生成代理类?

问题描述 由于项目需要对多个WCF接口进行调用,用SVCUTIL工具对每个接口分别生成的代理类,里面会存在很多相同的代码,导致冲突报错,请问下各位达人,有没办法对多个WCF服务同时生成代理类,让各个代理类公共的类自动全部生成在一个公共类里?谢谢 解决方案 解决方案二:SVCUTIL应该拿着WSDL生成代理类厄.解决方案三:汗,有木有人知道怎么搞啊解决方案四:写批处理svcutil.exe"http://localhost/test.svc?wsdl"/o:"..Service

WCF随客户端软件一起发布,客户端自动识别WCF服务地址,不通过配置文件绑定WCF服务,客户端动态获取版本号

WCF发布到IIS,并有相应的SVC宿主文件客户端软件通过CLICK ONCE发布到WCF的相同目录下本例实现了:客户端自动发现WCF服务的功能 1 不通过配置文件绑定WCF服务 代码 ICallCenter proxy = null; BasicHttpBinding binding = new BasicHttpBinding();EndpointAddress address = new EndpointAddress(AppDeploymentUtils.GetWcfUri());bin

在IIS8添加WCF服务支持

最近在做Silverlight,Windows Phone应用移植到Windows 8平台,在IIS8中 测试一些传统WCF服务应用,发现IIS8不支持WCF服务svc请求,后来发现IIS8缺少 对WCF服务的Managed Handler,按照以下步骤添加后,IIS8即支持WCF服务. 1. 首先添加MIME类型 扩展名".svc",MIME类型 "application/octet-stream" 2. 然后在"Handler Mappings&quo

在IIS8服务器添加WCF服务支持的方法_win服务器

 最近在做Silverlight,Windows Phone应用移植到Windows 8平台,在IIS8中测试一些传统WCF服务应用,发现IIS8不支持WCF服务svc请求,后来发现IIS8缺少对WCF服务的Managed Handler,按照以下步骤添加后,IIS8即支持WCF服务. 1. 首先添加MIME类型 扩展名".svc",MIME类型 "application/octet-stream"  2. 然后在"Handler Mappings&quo

三种客户端访问wcf服务端的方法 C#

原文 http://blog.csdn.net/zlj002/article/details/7914556 string jsonstr = String.Empty; string url = "http://localhost:7041/Service1/Hello"; #region WebClient 访问Get WebClient webclient = new WebClient(); Uri uri = new Uri(url, UriKind.Absolute); i