繁体   English   中英

如何使用SvcUtil.exe生成WCF服务

[英]How to generate WCF service with SvcUtil.exe

我正在使用SvcUtil.exe从wsdl文件生成IClassName.cs文件,并且工作正常。 我的问题是我不知道如何使用SvcUtil.exe的命令参数生成ClassName.svc文件。

运行SvcUtil.exe之后,我希望获得WCF服务,就像从包含所有类* .svc,*。cs和接口的Visual Studio向导中创建时一样。

谢谢你Skrch

首先,要生成代理类,我们需要启动并运行我们的服务。 因此,在使用该实用程序之前,请确保您的服务正在正常运行。

验证服务状态后,转到“ Visual Studio命令提示符”并运行以下命令。

svcutil http://localhost/MyService/ClassName.svc /Language=c#
/t:Code /out:ClassNameProxy.cs /config:ClassNameProxy.config

在上面的命令中,您应该将服务URL( http://localhost/MyService/Service1.svc )替换为服务的URL。 由于我的服务是在c#.net中开发的,因此我选择使用/ Language = c#标志以相同的语言生成代理。

/ t:code将指定输出应作为代码生成。

/out:ClassNameProxy.cs /config:ClassNameProxy.config参数将告诉实用程序按照这些参数值中的指定命名文件。 运行命令后,工具将生成输出文件和配置文件。

之后,只需将ClassNameProxy.cs文件包含到您的项目中,然后打开ClassNameProxy.config文件并将条目复制到您的web.config文件中。 您可能还需要根据您在项目中使用的名称来更新ClassNameProxy.vb文件并更新名称空间 之后,您可以轻松地在代码中引用该服务并调用操作。

工具中的一些示例如何使用它

svcutil http://service/metadataEndpoint从正在运行的服务或联机元数据文档生成客户端代码。

svcutil *.wsdl *.xsd /language:C# -从本地元数据文档生成客户端代码。

svcutil /dconly *.xsd /language:VB在VisualBasic中从本地架构文档生成数据协定类型。

svcutil /t:metadata http://service/metadataEndpoint从正在运行的服务中下载元数据文档

svcutil myAssembly.dll的服务合同和相关类型生成元数据文档

svcutil myServiceHost.exe /serviceName:myServiceName生成服务的元数据文档以及程序集中的所有相关服务合同和数据类型

svcutil myServiceHost.exe / dconly-为程序集中的数据类型生成元数据文档

svcutil /validate /serviceName:myServiceName myServiceHost.exe验证服务托管

svcutil /t:xmlserializer myContractLibrary.exe为程序集中的任何服务合同使用的XmlSerializer类型生成序列化类型

对于仍在寻找答案且无法使用2012版本的任何人,Visual Studio 2015和.Net 4.5已将svcutil.exe工具更新为使用/ serviceContract开关来生成一个类,然后可以将其实现为.svc服务。 您可能还需要提供/ syncOnly / wrapped / messageContract开关,具体取决于原始XSD的

我认为作为构建任务集成到Visual Studio 2012中的.NET 4.5 Contract First Tool将帮助您生成所需的服务文件。

服务合同通常需要从现有服务中创建。 在.NET Framework 4.5中,可以使用契约优先工具从现有服务中自动创建数据契约类。 要使用合同优先工具,必须在本地下载XML模式定义文件(XSD)。 该工具无法通过HTTP导入远程数据合同。

http://msdn.microsoft.com/zh-CN/library/hh674270(v=vs.110).aspx

Svcutil.exe基于服务的Web服务描述语言(WSDL)生成服务客户端代理。

打开Visual Studio命令提示符并运行命令

svcutil http://localhost/MyService/Service.svc  /Language=c#  /t:Code  /out:C:\Service\ServiceProxy.cs /config:C:\Service\ServiceProxy.config

它在C:\\ Service文件夹中生成两个文件,代理文件和配置文件,

更多细节在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM