命令行实现
一种替代方法是直接利用 SvcUtil.exe 实用程序,而不是 Visual Studio 加载项。在从 Visual Studio 中直接执行时,Visual Studio 加载项将再次带参数调用 SvcUtil.exe 以生成代理。通过查看“输出”窗口,并在下拉列表中将“显示输出”设置为“服务引用”,可以看到命令行和该命令的结果。
若要手动生成,可通过选择“开始” | “所有程序” | “Microsoft Windows SDK” | “CMD”,以选择 CMD 窗口。此命令提示符很有用,因为它的路径被设置为 SDK 工具和实用工具所在的二进制目录。
您将使用 SvcUtil.exe 命令行工具生成可在 SimpleClientWithProxy 项目中使用的两个输出。但是,本章附带的示例代码使用了上一节介绍的“添加服务引用”方法。此处介绍的步骤解释了如何生成与“添加服务引用”相同的输出。它生成的输出文件是客户端代理源代码文件和应用程序配置文件。然后,这些文件将合并到客户端项目中。SvcUtil.exe 可以生成这二者。在此示例中,以下命令(它只有一行,尽管此处显示多行)将产生代理类和配置文件:
列表 5-12:用于产生代理类和配置文件的命令
|
警告:要让此操作有效,需要一个正在运行的 Windows ServiceHost 版本,或者必须更改 URL 以指向 IIS 中承载的任何服务(使 URL 指向本章讨论的任何 .svc 文件)。此外,服务需要 metadataexchange 端点,第 3 章对此进行了介绍。本章附带的代码配置了 metadataexchange 端点,但在本章中它不在内嵌代码内!
命令有很好的自解释功能。/n 开关表明生成的代理类应当属于哪个命名空间。最后一个参数是可以在其上找到架构信息的服务端点的 URL。注意,?wsdl 可以替换为 ?mex,因为 SvcUtil.exe 同时支持两种发现方法。通过从命令提示符执行 svcutil.exe /?,可以获得进一步帮助。
下一步是获得输出文件 ExchangeService.cs 和 App.config,并将它们合并到项目中。通过从 Visual Studio 2005 中的“项目”菜单选择“添加现有项”,可以将第一个文件 ExchangeService.cs 直接添加到项目中。
第二个文件必须作为应用程序配置 (App.config) 文件添加到项目中。如果项目还没有 App.config 文件,则可以从“项目”菜单中再次选择“添加现有项”以添加该文件。如果已有现成的 App.config,则必须合并 system.serviceModel 部分,以确保具备所有适当的子元素。
结论
在了解了有关承载的可选方案的所有内容后,您将能够构建 WCF 应用程序,并在任何需要的地方承载它们。此外,您还能够解释在最新可用环境(Windows Vista 或 Windows Server 2007 上的 IIS 7.0 与 WAS)中进行承载的好处。
作者简介
Chris Peiris 是应用程序集成方面的热心作者。他在澳大利亚的 Avanade 公司担任解决方案设计师。他经常在有关 Microsoft 技术的专业开发人员会议上发言。Chris 为包括 15Seconds、ASPToday、Wrox (Apress) 和 Developer Exchange (DevX) 在内的各种在线刊物编写了很多文章、评论和专栏。他还与他人共同编写了很多有关 WCF、Web 服务、UDDI、C#、IIS、Java 和安全方面的书籍。Chris 目前主要关注 WCF、WinFX、IBM Message Broker、BizTalk 和其他 EAI 实现。若要查看 Chris 的完整作品列表和详细联系信息,请访问 http://www.chrispeiris.com/。
Dennis Mulder 于 1997 年开始他的职业生涯,专注于 Microsoft 技术。在 2004 年 8 月,他开始服务于 Avanade,这是一家 Microsoft 和 Accenture 的合资公司。目前,他主要关注 Microsoft 平台的几个领域,具体包括面向服务的领域、集成和软件工厂。作为在荷兰的顾问,Dennis 通过利用 Microsoft 平台的强大功能与企业客户共同合作解决其问题。Dennis 经常在荷兰 Microsoft 会议和用户组中发言,在 2006 年初,他就已经成为 INETA 的发言人。可以通过 dennism@avanade.com 或他的博客 http://www.dennismulder.net/ 与 Dennis 联系。
Avanade 是全球 IT 咨询公司,致力于使用 Microsoft 平台帮助企业取得盈利增长。通过利用拓展 Microsoft 技术的成熟解决方案,Avanade 帮助企业增加收入、降低成本并对创新技术进行再投资,以获得竞争优势。我们的顾问通过汇聚我们全球雇员的洞察力、创新和才干,按照每个客户的要求、时间线和预算提供服务。有关其他信息,可以访问 http://www.avanade.com/。
| 共18页: 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] 18 | |||||||||||||||||||
|
|
· 并购专家:雅虎和微软14.. · Google官员露天机 Andr.. · 微软多管齐下推广Silve.. · 在PPC上安装pythonce · WindowsMobile应该如何.. · 如何用正则删除不包含.. |
· GitHub:基于Rails的Gi.. · Django是否已经达到顶.. · 开源!数据库的新道路 · 系统服务终结者 · 服务器正常连接网络但.. · 华为与服务器网络连接.. |
|
||||
| · WCF开发基础 · 珊瑚虫QQ作者侵权案开庭 · SQL Server 2008/2005.. · 华为员工自杀频频拷问.. · 计算机网络维护入门 · 开源虚拟化技术Xen · 贝恩资本携手华为22亿.. · 如何优化IT 控制能耗 |
· VMware技术应用 · 打造安全服务器 · iSCSI应用与发展 · FTTx光纤接入 · Windows Server 2008专.. · Linux——从菜鸟到高手 · 微软出价446亿美元收购.. · RAID——磁盘阵列基础 |
|||
|
||||
| · iSCSI应用与发展 · SQL Server 2008/2005.. · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 中间件应用技术专题 · 深入了解PGP加密技术 · 病毒查杀专题 |
· 国际文档格式标准开战 · SSL VPN详细知识 · Linux防火墙 · 打造安全服务器 · Sniffer安全技术从入门.. · 木马原理与防范 · ADSL应用面面俱到 · 入侵防护系统(IPS)初探 |
|||
|
||||
| · iSCSI应用与发展 · 中间件应用技术专题 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 身份认证技术 · 病毒查杀专题 · 清除流氓软件——51CTO.. |
· SSL VPN详细知识 · Sniffer安全技术从入门.. · 了解统一威胁管理(UTM).. · 网络钓鱼 · ADSL应用面面俱到 · ADSL应用面面俱到 · 木马原理与防范 · 反垃圾邮件技术应用 |
|||