我只需要知道,在创建 Web 服务代理之后,如果我删除 wsdl 文件,那么创建 Web 服务类相关实例会有什么问题吗?
所以请指导我从 VS2010 IDE 中删除 wsdl 文件后需要做什么,因此调用 Web 服务不会有问题。
我的第一个问题是关于 Web 服务(ASMX)文件。所以我的问题仍然相同,但是如果 WCF 服务我需要做些什么。因为创建代理后还会生成 wsdl 文件。如果在这种情况下我也删除了 wsdl 文件,那么我该如何调用 wcf 服务。
请详细说明。
我只需要知道,在创建 Web 服务代理之后,如果我删除 wsdl 文件,那么创建 Web 服务类相关实例会有什么问题吗?
所以请指导我从 VS2010 IDE 中删除 wsdl 文件后需要做什么,因此调用 Web 服务不会有问题。
我的第一个问题是关于 Web 服务(ASMX)文件。所以我的问题仍然相同,但是如果 WCF 服务我需要做些什么。因为创建代理后还会生成 wsdl 文件。如果在这种情况下我也删除了 wsdl 文件,那么我该如何调用 wcf 服务。
请详细说明。
WSDL
文件描述您的服务操作。为了生成客户端代理,使用了 WSDL 文件。
完成创建客户端代理后,您不再需要 WSDL 文件。事实上,删除或限制对 WSDL 文件的访问是一种很好的做法,在安全性方面也是一种很好的做法。
因此,您将不需要 WSDL 文件,除非您对服务进行更改,例如添加新操作或删除现有操作。在这种情况下,需要再次更新客户端的 WSDL 文件。
Reference.svcmap
添加服务引用时,Visual Studio 会在文件夹内创建一个名为的Service References/<service name>/
文件,用于描述您的服务。它包含指向各种元数据源的链接以及您在创建服务参考时使用的配置选项(上下文菜单中的“配置服务参考”)。
这Reference.svcmap
是唯一不能删除的文件。当您右键单击您的服务引用并从上下文菜单中选择“更新服务引用”时,Visual Studio 将从其上游源重新下载所有必需的元数据,重新创建客户端代理并更新您的app.config
文件。
从Service References/<service name>
目录中,客户端代理Reference.cs
是编译客户端应用程序时实际使用的唯一文件(因此您也不应该删除它,尽管 Visual Studio 会自动为您重新生成它) - 这些文件都不会在运行时使用.
本文还解释了所有这些文件的内容: http ://scottseely.com/2009/01/26/misunderstood-add-service-reference/