更新服务参考在 WCF 中不起作用
Posted
技术标签:
【中文标题】更新服务参考在 WCF 中不起作用【英文标题】:Update Service Reference is not working in WCF 【发布时间】:2013-05-09 12:44:56 【问题描述】:我正在使用 VS 2012。
我将服务引用添加到我的 WPF 项目,但是当我更改了我的服务并更新了服务引用时,我的 Reference.svcmap -> Reference.CS 文件将是空白的,我不能再使用引用了。我可以在项目中看到它,但我不能使用。
我的服务参考设置是:-
参考.cs文件
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.17929
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
【问题讨论】:
使用svcutil生成服务引用怎么样? 从您的项目中删除服务引用并清理解决方案再次添加它以相同的名称并测试 @Damith 我现在就试试。并且这次添加了参考,但是没有方法,我的 ClientApplication 什么也不会发生 @cvraman 我不知道如何使用 svcutil 来生成 web 服务参考。 @ujjaval 我解决此问题的一种方法是重新启动 Visual Studio ..试一试 【参考方案1】:取消选中在引用程序集中重用类型复选框并将新服务的地址放入地址文本框中。
【讨论】:
+1,但有问题的选项是“在所有引用的程序集中重用类型”。如果您取消选中这个有问题的选项并从列表中选择正确的程序集,则生成的类应该没问题。 谢谢,我的服务参考也有问题,这是我需要的答案。我现在可以使用我的 EF 对象。 (以数组的形式但仍然) 是的,它运行良好。我只需要再次更新服务参考。【参考方案2】:在配置服务引用时,将 /mex(使用 mexHttpBinding 的端点地址)附加到服务 URL 的末尾。
https://service.domain.com/serivce1.svc/mex
这将启用元数据交换。因此 Reference.cs 将被修改/添加(如果您是第一次添加服务引用)。
编辑:经过分析,我发现当服务(实现一个 ServiceContract)通过多个端点公开时会发生此问题。
可以通过为每个端点使用不同的服务契约(接口)并让服务类(service1)实现所有这些接口来避免这个问题。
【讨论】:
【参考方案3】:如果您无法浏览 URL,那么您将无法添加服务引用。尝试在 IIS 中本地托管您的 Web 服务。当您能够浏览 URL 时,您可以添加服务引用。
【讨论】:
【参考方案4】:取消选中重用选项,更新服务选项工作正常。
【讨论】:
【参考方案5】:您可以先做几件事清理解决方案,删除输出目录和服务引用。重新启动 Visual Studio 并重新配置 Web 服务。
【讨论】:
如何删除输出目录?你能告诉我吗 @ujjaval 在解决方案资源管理器中有一个“显示所有文件”按钮,当您单击时,您可以看到“Bin”,Obj
文件夹
好的,我删除了所有的 dll 和编译文件,然后重新启动 VS 2012 并再次重新配置,但仍然是同样的问题。 :(【参考方案6】:
这可能是由 Team Foundation 源代码控制引起的。 尝试右键单击服务参考并选择“签出以进行编辑...” 比再次更新服务参考。
【讨论】:
这是一个 2013 年的问题。因此,现在提供答案的价值对于未来可能有类似问题的用户而言。因此,只有当他们能够清楚地识别问题并解释/提供解决方案时,才应提供此类旧问题的答案。以上是关于更新服务参考在 WCF 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章