svcutil.exe用法
已创建服务。
若要测试此服务,需要创建一个客户端,并将其用于调用该服务。可以使用下列语法,从命令行中使用 svcutil.exe 工具来进行此操作:
svcutil.exe http://localhost:8080/calculatorService?wsdl
这将生成一个配置文件和一个包含客户端类的代码文件。请将这两个文件添加到客户端应用程序,并使用生成的客户端类来调用服务。例如:
C#
class Test { static void Main() { CalculatorClient client = new CalculatorClient(); // 使用 "client" 变量在服务上调用操作。 // 始终关闭客户端。 client.Close(); } }
Windows Communication Foundation 工具 - ServiceModel 元数据实用工具 (Svcutil.exe)
ServiceModel 元数据实用工具用于依据元数据文档生成服务模型代码,以及依据服务模型代码生成元数据文档。
ServiceModel 元数据实用工具可在 Windows SDK 安装位置中找到,具体位置为 C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin
常见用法
此工具的一些常用选项。
选项
说明
/directory:<目录>
要在其中创建文件的目录。默认设置:当前目录。缩写形式:/d
/help
显示此工具的命令语法和选项。缩写形式:/?
/noLogo
取消版权和标题消息。
/svcutilConfig:<配置文件>
指定要取代 App.config 文件使用的自定义配置文件。 可以使用该自定义配置文件来注册 system.serviceModel 扩展,而无需更改工具的配置文件。
/target:<输出类型>
指定要由工具生成的输出。有效的值为代码、元数据或 xmlSerializer。缩写形式:/t
示例
以下命令将依据运行的服务或联机元数据文档生成客户端代码。
svcutil http://service/metadataEndpoint
以下命令将依据本地元数据文档生成客户端代码。
svcutil *.wsdl *.xsd /language:C#
以下命令将依据本地架构文档用 Visual Basic 生成数据协定类型。
svcutil /dconly *.xsd /language:VB
以下命令从运行的服务中下载元数据文档。
svcutil /t:metadata http://service/metadataEndpoint
以下命令为程序集中的服务协定和关联的类型生成元数据文档。
svcutil myAssembly.dll
以下命令为程序集中的服务以及所有关联的服务协定和数据类型生成元数据文档。
svcutil myServiceHost.exe /serviceName:myServiceName
以下命令为程序集中的数据类型生成元数据文档。
svcutil myServiceHost.exe /dconly
以下命令验证服务宿主。
svcutil /validate /serviceName:myServiceName myServiceHost.exe
以下命令为程序集中任何服务协定使用的 XmlSerializer 类型生成序列化类型。
svcutil /t:xmlserializer myContractLibrary.exe