创建 Web 服务代理并删除 WSDL 文件问题

本文关键字:WSDL 文件 问题 删除 Web 服务 代理 创建 | 更新日期: 2023-09-27 17:56:51

我只需要知道,在创建Web服务代理后,如果我删除WSDL文件,那么创建Web服务类相关实例会有什么问题吗?

所以指导从VS2010 IDE中删除WSDL文件后我需要做什么,因此调用Web服务不会有问题。

我的第一个问题是关于Web服务(ASMX)文件。 所以我的问题仍然是一样的,但是我需要做什么来做WCF服务。 因为创建代理后还有 WSDL 文件生成。 如果我在这种情况下也删除 WSDL 文件,那么我怎么能调用 WCF 服务。

请详细解释。

创建 Web 服务代理并删除 WSDL 文件问题

WSDL文件描述了您的服务操作。为了生成客户端代理,使用了 WSDL 文件。

创建完客户端代理后,不再需要 WSDL 文件。事实上,删除或限制对 WSDL 文件的访问是一种很好的做法,就安全性而言,这是一种很好的做法。

因此,您将不需要 WSDL 文件,除非您对服务进行更改,例如添加新操作或删除现有操作。在这种情况下,需要再次更新客户端 WSDL 文件。

添加服务引用时,Visual Studio 会在 Service References/<service name>/ 文件夹中创建一个名为 Reference.svcmap 的文件,该文件描述您的服务。 它包含指向各种元数据源的链接以及您在创建服务引用时使用的配置选项(上下文菜单中的"配置服务引用")。

Reference.svcmap是唯一不能删除的文件。 右键单击服务引用并从上下文菜单中选择"更新服务引用"时,Visual Studio 将从其上游源重新下载所有必需的元数据,重新创建客户端代理并更新app.config文件。

Service References/<service name>目录中,客户端代理Reference.cs是编译客户端应用时实际使用的唯一文件(因此也不应删除它,尽管 Visual Studio 会自动为你重新生成它) - 这些文件都不会在运行时使用。

本文还解释了所有这些文件的内容:http://scottseely.com/2009/01/26/misunderstood-add-service-reference/