WCF使用Svcutil.exe生成客户端代理

svcutil.exe

参数

1 /async

/async 同时生成同步和异步方法签名。

默认设置:只生成同步方法签名。

缩写形式:/a

2 /tcv:Version35

/tcv:Version35  

指定应用程序针对 .NET Framework 的哪个版本。有效值为:Version30 和 Version35。默认值为 Version30。

缩写形式:/tcv

Version30:如果为使用 .NET Framework 3.0 的客户端生成代码,则使用 /tcv:Version30。

Version35:如果为使用 .NET Framework 3.5 的客户端生成代码,则使用 /tcv:Version35。如果将 /tcv:Version35

与 /async 开关一起使用,则会同时生成基于事件的异步方法和基于回调/委托的异步方法。

3/collectionType:<类型>

/collectionType:<类型>

从架构中生成代码时,指定要用作集合数据类型的完全限定或程序集限定名称。

缩写形式:/ct

4/reference:<文件路径>

/reference:<文件路径>

引用指定程序集中的类型。在生成客户端时,使用此选项来指定可能包含类型的程序集,这些类型表示所导入的元数据。

无法使用此开关指定消息协定和 XmlSerializer 类型。

如果引用了 DateTimeOffset,则会使用此类型,而不是生成新类型。如果应用程序是使用 .NET Framework 3.5 编写

的,则 SvcUtil.exe 会自动引用 DateTimeOffset。

缩写形式:/r
5/enableDataBinding

/enableDataBinding

在所有数据协定类型上实现 INotifyPropertyChanged 接口以启用数据绑定。

缩写形式:/edb

示例:

1

生成同步,带事件的异步代码,集合使用System.Collections.ObjectModel.ObservableCollection集合,指定程序集引用

svcutil /a /d:d:/temp http://localhost:1998/Implement/AgriProductService.svc /ser:DataContractSerializer  

/tcv:Version35 /ct:System.Collections.ObjectModel.ObservableCollection`1 /reference:C:/"Program  

Files"/"Reference Assemblies"/Microsoft/Framework/.NETFramework/v4.0/WindowsBase.dll

生成同步,带事件的异步代码,集合使用System.Collections.Generic.List集合

svcutil /a /d:d:/temp http://localhost:1998/Implement/AgriProductService.svc /ser:DataContractSerializer  

/tcv:Version35 /ct:System.Collections.Generic.List`1

生成同步,带事件的异步代码,集合映射为数组

svcutil /a /d:d:/temp http://localhost:1998/Implement/AgriProductService.svc /ser:DataContractSerializer  

/tcv:Version35

关于svcutil.exe的详细介绍。

ServiceModel 元数据实用工具 (Svcutil.exe)

如果生成的代理类是要给silverlight用,还需要手动修改一下。因为silverlight不支持同步操作,所有需要删除代理类中的同步操作的代码,只保留异步的代码,还有就是需要添加下面的代码,用于open和close客户端的代码。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索代码
, exe生成
, 类型
, 同步
, version
, 生成
, 生成客户端
, Reference Assemblies
缩写
wcf 客户端代理类、wcf svcutil、wcf生成代理类、wcf测试客户端、wcf客户端调用,以便于您获取更多的相关知识。

时间: 2025-01-31 01:41:18

WCF使用Svcutil.exe生成客户端代理的相关文章

通过SvcUtil.exe生成客户端代码和配置(转)

WCF服务调用通过两种常用的方式:一种是借助代码生成工具SvcUtil.exe或者添加服务引用的方式,一种是通过ChannelFactory直接创建服务代理对象进行服务调用. 下面简单说下如何通过SvcUtil.exe的方式调用服务: SvcUtil.exe是一个命令行工具,位于:C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin目录下,可以将SvcUtil.exe添加到VS2010中方便以后的运用,添加方式:在VS2010的 Tools菜单中选择

解析利用wsdl.exe生成webservice代理类的详解_实用技巧

利用wsdl.exe生成webservice代理类:根据提供的wsdl生成webservice代理类1.开始->程序->Visual Studio 2005 命令提示2.输入如下红色标记部分D:/Program Files/Microsoft Visual Studio 8/VC>wsdl /language:c# /n:TestDemo /out:d:/Temp/TestService.cs D:/Temp/TestService.wsdl在d:/Temp下就会产生一个TestServ

多年潜水,冒泡100分求助:关于WSDL通过wsdl.exe或svcutil.exe生成服务框架的问题。。求指教,谢谢!!!!!!!!!!

问题描述 最近做一个活,环境是一个webservice的服务端下面挂载了三个系统,目的是要替换其原有的服务端.而下面的三个系统客户端不做任何调整.从理论上讲是可行的.通过客户前期的开发文档,获得了一版他们当时开发用的wsdl.在java和c#下面通过这个wsdl生成服务框架,都出现提示警告.并且写了简单测试代码,发现客户端都链接不上.获悉是他们后面改了很多的内容.现在通过其生产环境,获得了他最新的wsdl文件,但是通过java和c#去生成这个服务框架都无法成功.对ws不是很熟悉,想各路大神能不能

vs2012-WCF服务调用 SVCUtil.exe的使用问题

问题描述 WCF服务调用 SVCUtil.exe的使用问题 目前做一个项目,已经写好了一个WCF服务,并且已经成功发布到IIS上,现在想用一个C#窗体程序去调用,但是在用SvcUtil.exe生成客户端文件和配置文件时会有下图的情况只生成.cs文件,但是config文件没有生成,麻烦大神帮忙这是为什么?怎么解决?另外我的系统是win7,VS2012 解决方案 没看到你的指令,你是下面这种格式的吗? SvcUtil.exe /out:clientCode.cs /config:app.config

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

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

不引用服务而使用WCF,手动编写客户端代理类

前面我写过一个用WCF开发的聊天程序,大家可以翻看前面的博文. 在那个聊天程 序中,我是不引用服务而直接使用WCF.之前没有跟大家说这一知识点,对于初学者朋友来说 ,可能不知道怎么回事. 我们之所以说WCF比一般的Web Service要强大得多,是因为 它要比一般的Web服务要灵活得多,而且它不仅仅能在IIS服务器上运行,其实它可以用很多 种方法来运行,哪怕一个控制台应用程序. 现在,大家可以回忆一下前面我写的<传 说中的WCF>,我上面的例子绝大多数都是控制台应用程序类型的.我们应当把WC

SilverLight企业应用框架设计【四】实体层设计+为客户端动态生成服务代理(自己实现RiaService)

题外话: 对不住各位,本打算年前把这个系列写完,结果由于杂务缠身一直推到年后 我特别痛恨我自己!我觉得不但对不起各位!也对不起自己. 最近烦躁不安,不能专心向学.也不知道如何是好. -- 好吧,言归正传 说个前提条件: 此项目虽然使用了silverlight 4.0 但是服务端只能在dotNet3.5下运行 这也是我们为什么自己实现riaService的原因 实体层设计 由于有这个限制条件,我们设计的实体层也有所区别 如下图为实体层的程序集(只有MenuM实体类,其他实体类未加入.) 下面来看一

[WCF服务跨网段调用]紧急求助:WCF服务跨网段,客户端不能调用

问题描述 项目马上就要验收了,遇到点困难,望知道的朋友能够相助.具体情况是这样的,客户的内部网络是局域网,有192,172两个网段(两个网段可以互相ping通),具体如何映射的我也不知道.当我把WCF服务和客户端分别部署在这两个不同网段时(例如:WCF服务器网段是192,客户端是172),发现客户端无法调用WCF服务,但是通过IE可以访问服务(例如:http://192.168.168.18/BDService.svc),同时通过VS2010可以正常更新服务.由于采用一个一级服务器,几个二级服务

为什么java开发的web service,在.net里生成的代理类里没有指定的类型?

问题描述 java开发的webservice里的submit原型:publicvoidsubmit(MTRequestrequest,MTResponseHolderholder){....}而在客户端.net平台,生成代理类里没有MTResponseHolder这个类型?另外,在.net平台生成的代理类的submit方法却要求这样调用:submit(MTRequestrequest,outMTResponseMTResponse),怎么是out方式呢?另外,为什么MTResponseHolde