1

我向我的服务添加了一个 DataContract,并尝试更新服务引用以访问该 DataContract。但它从未出现在智能感知中。我清理并构建了项目,然后更新了服务参考,但它仍然没有工作。

然后我将它发布到服务器并更新了服务引用,使其指向服务器,但我得到了同样的结果。我通过 IIS 浏览了服务并在浏览器中打开了我的服务。

我单击了具有 Service.svc?wsdl 的顶部链接,以查看我的 DataContract 是否存在。旧的 MessageContract 在那里,但 DataContract 没有。

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

4

2 回答 2

1

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

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

于 2013-06-14T19:45:18.063 回答
1

我从这里得到了答案。

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

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

于 2013-06-14T21:38:04.743 回答