WCF - 发布服务时WSDL不更新

时间:2013-06-14 19:33:49

标签: c wcf

我向我的服务添加了一个DataContract,并尝试更新服务引用以获取对该DataContract的访问权限。但它从未出现在intellisense中。我清理并构建了项目,然后更新了服务引用,但它仍然无效。

然后我将它发布到服务器并更新了服务引用,以便它指向服务器,但我得到同样的东西。我通过IIS浏览了该服务,并在浏览器中打开了我的服务。

我点击了包含Service.svc?wsdl的顶部链接,看看我的DataContract是否存在。有一个旧的MessageContract,但DataContract不是。

关于我在这里做错了什么想法?

2 个答案:

答案 0 :(得分:1)

删除当前部署的服务二进制文件,并验证该服务是否无法访问。然后部署新的服务二进制文件。这是为了验证您实际部署到正确的位置。

也可能没有重建服务二进制文件。要验证这一点,请删除bin文件夹(通常位于项目文件旁边)并发出重建,然后按照第一步操作。

答案 1 :(得分:1)

我从here得到了答案。

  

只有服务实际使用的类型才会反映在元数据中。

我没有使用DataContract的操作合同。我当时不需要一个,所以我没有成功。但显然,除非你有一个使用它,否则不会为该DataContract生成元数据。