我修改了我的网络服务并添加了一个新参数。我重新编译所有内容,当我在本地主机中运行时,一切正常。但是当我部署到我的 IIS 服务器时,wsdl 没有更新,它根本不显示我的新参数。
我需要做什么才能更新我的 wsdl?
我修改了我的网络服务并添加了一个新参数。我重新编译所有内容,当我在本地主机中运行时,一切正常。但是当我部署到我的 IIS 服务器时,wsdl 没有更新,它根本不显示我的新参数。
我需要做什么才能更新我的 wsdl?
当您说 wsdl 未更新以显示新参数时,您是如何尝试访问 wsdl 的?如果您尝试访问http://myserver/myservice/service.asmx?wsdl
并且未显示更新的 wsdl,请尝试在托管service.asmx
. 如果这不能解决它,请尝试重新部署代码。另一方面,如果您声明正在使用您在 IIS 上托管的服务的客户端应用程序看不到更新的 wsdl,您需要检查客户端应用程序的代码而不是您的服务。如果它有一个指向托管服务的 URL 的 Web 引用,那么您需要按照 Azhar 的建议进行操作,然后右键单击 Web 引用并单击更新。如果它具有由 wsdl.exe 生成的代理类,则使用 wsdl.exe 重新生成代理类,如下所示
wsdl /namespace:MyCompany.MyApp.Services /out:C:\MyServiceProxy.cs http://myserver/myservice/service.asmx
并使用新的 MyServiceProxy.cs 文件更新客户端项目,该文件应包含具有更新参数的方法。
右键单击 Web 参考,然后单击更新。它将更新 reference.cs 文件。然后编译和部署。确保它引用了新的 reference.cs 文件。