免责声明:我对网络服务的经验/知识非常有限。
我已经使用wsdl.exe反向设计了一个现有的Web服务WSDL,以创建一个C#代理类。
使用Visual Studio 2008我创建了一个默认的Web服务模板。
如何引用生成的代理类以使其在Web服务中起作用?
例如 - >调用http://localhost/webservice/service.asmx?WSDL将返回代理类的详细信息。
答案 0 :(得分:3)
首先,您不应该使用ASMX Web服务。 Microsoft现在认为它们是“遗留技术”,并建议使用WCF完成Web服务客户端或服务的所有新开发。不要从劣势开始。
其次,使用WSDL的常用方法是在Visual Studio中使用“添加Web引用”命令(如果使用WCF,则使用“添加服务引用”)。这会为您生成代理类并将它们添加到您的项目中。
我不确定你的问题,这是你想要的,因为你先谈论WSDL,然后谈谈“默认的Web服务模板”。你对“默认的网络服务模板”有什么意义?
尝试使用svcutil.exe程序(而不是WSDL.EXE),如下所示:
svcutil YourWsdl.WSDL / language:C#/ d:子目录
这应该在子目录中产生许多文件。看一下.cs文件,其中一个文件将包含一个接口,即服务合同。这是您的服务必须实现的接口。查看您的“默认”WCF服务应用程序,您将看到它执行相同的操作 - 生成由服务实现的接口。