根据服务元数据生成 WCF 客户端(转自MSDN)
来源:互联网 发布:微信解封软件 编辑:程序博客网 时间:2024/05/17 22:45
本主题介绍如何使用 Svcutil.exe 中的各种开关,根据元数据文档生成客户端。
元数据文档可以位于持久性存储区中,也可以联机检索。联机检索遵循 WS-MetadataExchange 协议或 Microsoft 发现 (DISCO) 协议。Svcutil.exe 同时发出以下元数据请求以检索元数据:
- 发往所提供地址的 WS-MetadataExchange (MEX) 请求。
- 发往所提供地址的 MEX 请求,并追加了 /mex。
- 发往所提供地址的 DISCO 请求(通过 ASP.NET Web 服务使用 DiscoveryClientProtocol)。
Svcutil.exe 基于 Web 服务描述语言 (WSDL) 或从服务接收的策略文件生成客户端。通过将用户名与“@”连接在一起,然后添加完全限定的域名 (FQDN),生成用户主体名称 (UPN)。但是,对于在 Active Directory 上注册的用户,此格式无效,且该工具生成的 UPN 会导致 Kerberos 身份验证出错,并显示以下错误消息:“登录尝试失败”。若要解决此问题,请手动修复该工具生成的客户端文件。
svcutil.exe [/t:code] <metadataDocumentPath>* | <url>* | <epr>
引用和共享类型
/reference:<文件路径>
引用指定程序集中的类型。在生成客户端时,使用此选项来指定可能包含类型的程序集,这些类型表示所导入的元数据。
缩写形式:/r
/excludeType:<类型>
指定要从引用的协定类型中排除的完全限定或程序集限定类型名称。
缩写形式:/et
选择序列化程序
/serializer:Auto
自动选择序列化程序。此操作使用 DataContract 序列化程序。如果此操作失败,则使用 XmlSerializer。
缩写形式:/ser:Auto
/serializer:DataContractSerializer
生成使用 DataContract 序列化程序进行序列化和反序列化的数据类型。
缩写形式:/ser:DataContractSerializer
/serializer:XmlSerializer
生成使用 XmlSerializer 进行序列化和反序列化的数据类型。
缩写形式:/ser:XmlSerializer
/importXmlTypes
配置 DataContract 序列化程序,以便将非 DataContract 类型作为IXmlSerializable 类型导入。
缩写:/ixt
/dataContractOnly
仅为 DataContract 类型生成代码。会生成 ServiceContract 类型。
应该仅为此选项指定本地元数据文件。
缩写形式:/dconly
为客户端选择语言
/language:<语言>
指定要用于代码生成的编程语言。提供在 Machine.config 文件中注册的语言名称或从 CodeDomProvider 继承的类的完全限定名称。
值:c#、cs、csharp、vb、vbs、visualbasic、vbscript、javascript、c++、mc、cpp
默认设置:csharp
缩写形式:/l
有关更多信息,请参见 CodeDomProvider Class(CodeDomProvider 类)。
为客户端选择命名空间
/namespace:<字符串,字符串>
指定从 WSDL 或 XML 架构 targetNamespace 到公共语言运行库 (CLR) 命名空间的映射。将通配符 (*) 用于targetNamespace 将映射所有 targetNamespaces,而不显式映射到该 CLR 命名空间。
若要确保消息协定名称不与操作名称相冲突,请用双冒号 (::) 限定类型引用,或者确保名称是唯一的。
默认设置:派生自 DataContracts 的架构文档的目标命名空间。默认命名空间用于所有其他生成的类型。
缩写形式:/n
选择数据绑定
/enableDataBinding
在所有 DataContract 类型上实现 INotifyPropertyChanged 接口以启用数据绑定。
缩写形式:/edb
生成配置
/config:<配置文件>
指定已生成的配置文件的文件名。
默认设置:output.config
/mergeConfig
将生成的配置合并到现有文件中,而不是覆盖现有文件。
/noConfig
不生成配置文件。
- 根据服务元数据生成 WCF 客户端(转自MSDN)
- 发布wcf服务元数据
- 利用svcutil.exe 访问windows Server 2003的wcf服务生成客户端代码报错:无法从http://XXX/XXX.svc?wsdl获取元数据”错误的解决方法
- WCF服务生成客户端的配置文件步骤
- WCF服务编程设计规范(8):服务托管、自托管代码、客户端代理类、客户端代理管理、客户端异常管理、数据契约、SOAP与REST
- WCF服务元数据交换、配置及编程开发
- [WCF]使用Visual Studio配置发布服务元数据
- WCF客户端调用服务
- WCF服务自宿主
- 发布WCF元数据
- [转]WCF生成客户端对象方式解析
- wcf 生成客户端脚本
- 生成wcf客户端脚本
- 一个Android客户端,调用WCF服务获取数据
- WCF 添加服务失败。服务元数据可能无法访问。请确保服务正在运行并且正在公开元数据
- WCF分布式开发步步为赢(3)WCF服务元数据交换、配置及编程开发
- WCF分布式开发步步为赢(3)WCF服务元数据交换、配置及编程开发
- WCF分布式开发步步为赢(3)WCF服务元数据交换、配置及编程开发
- UIScrollView分页的实现
- share data between build-in and module
- hdu 3952 Fruit Ninja
- 独立集,覆盖集,支配集,最大团,最大匹配
- 在非控制台程序中打印出printf
- 根据服务元数据生成 WCF 客户端(转自MSDN)
- Android 下U-boot 如何传输参数
- Android PendingIntent的深入理解
- 探索 Linux 内存模型
- Web Service SOAP Client 设置 SOAP Header
- android扫盲篇
- 几种常见排序算法的c语言实现
- 最新Android环境搭建和Helloworld
- 在eclipse中如何在大量项目中查找指定文件