你有两个选择:
选项 1:svcutil.exe
在命令行上使用该实用程序。它应该安装在您的C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin
目录中(或类似的东西,取决于您拥有的机器和操作系统)
使用 svcutil -? 对于所有许多参数的列表。基本上,以最简单的形式,使用:
svcutil (name of your service).wsdl (name of your datafile).xsd
这将创建一个(name of your service).cs
包含服务和数据合同的相应 C# 文件,以及一个示例配置文件。
生成的 *.cs 文件(或 *.vb,如果您需要 VB.NET)将包含您的服务的服务合同(方法,来自 WSDL)和数据合同(数据部分,来自 XSD) .
选项 2:使用 Visual Studio 中的“添加服务引用”对话框(在解决方案资源管理器中的“引用”节点上),然后输入 WSDL 文件的文件名:
这将创建一个服务引用,它与实用程序的输出基本相同svcutil.exe
- 加上一些用于 Visual Studio 的帮助程序类和文件。
不幸的是,在这两种情况下,导入都会创建一个严重超载的配置文件,这可能是许多程序员认为 WCF 非常复杂的原因之一 - 事实并非如此,但这两个导入工具在创建基本配置方面做得非常糟糕为你配置......不要让那吓跑你!
如果 WSDL 的添加服务引用没有自动转换所有相关和必要的 XSD 文件,您可能需要将它们添加到您的项目中,然后使用XSD2Code 之类的东西为您将它们转换为 C#(或 VB.NET)类.
这wsdl.exe
是将 WSDL 文件转换为 ASMX(ASP.NET Web 服务)存根的已弃用实用程序 - 不再使用它,请使用svcutil.exe
Visual Studio 的 WCF 添加服务参考。
至于如何创建适当且最小的 WCF 配置,请查看 Miguel Castro 的 DotNet Rocks TV Show #122,标题为Extreme WCF。Miguel 提供了一种很好的方式来构建 WCF 项目,并根据实际需要创建尽可能多的配置(因此可以比 svcutil 生成的混乱更好地理解)。