在 VS 2010 中更新 WCF 服务对 WebService 问题的引用
Posted
技术标签:
【中文标题】在 VS 2010 中更新 WCF 服务对 WebService 问题的引用【英文标题】:Update WCF service reference to WebService issue in VS 2010 【发布时间】:2012-10-01 04:26:09 【问题描述】:我当前的项目使用的是 VS 2010。我是 WCF 的新手。我以前使用过 WebServices,但我从来不需要生成实际的代理。我正在使用 WCF 服务引用调用 Web 服务的当前项目。相当简单明了。我添加了一个新的服务参考,并且在初始设置中一切正常。
更新 WSDL 后,我只需右键单击服务引用并选择“更新引用”。这样做之后,现在有重复的对象名称,并附加了数字“1”。比如:
从 WSDL 结果初始生成:
GetWidget (getWidgetRequest)
GetWidgets (getWidgetRequest)
GetWidgetGroups (getWidgetRequest)
更新后,我现在有了这个:
GetWidget (getWidgetRequest)
GetWidgets (getWidgetRequest)
GetWidgetGroups (getWidgetRequest)
GetWidget1 (getWidgetRequest1)
GetWidgets1 (getWidgetRequest1)
GetWidgetGroups1 (getWidgetRequest1)
所以现在我必须使用 GetWidget1 方法来使用“更新”服务方法。我的问题是:
-
有没有办法覆盖以前的方法而不生成新的类型来适应更新?
我是否必须在每次更新 WSDL 时手动清理它?
我是否错误地更新了服务参考?我需要使用 svcutil.exe 吗?
我在以 .datasource 结尾的服务引用中找到了 4 个文件。它们都有新的类型名称(GetWidget1.datasource、GetWidgetGroups1.datasource 等)。以下是文件内容的示例:
<GenericObjectDataSource DisplayName="GetWidget1" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>GetWidget1, Service References.WidgetService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>
我们使用的是 Visual Studio 2010 版本 10.0.40219.1 SP1Rel
【问题讨论】:
【参考方案1】:您使用的是 vs 2010?
这是旧版本中的错误,但已在 2010 年修复 - 请参阅 here
【讨论】:
似乎很多人在 VS2010 中仍然得到这个 - 不确定原因是什么,但您是否尝试过删除所有引用并阅读它? 有趣的是,我使用的是 VS 2010。这似乎是问题所在,但我不确定为什么它仍然会发生。我相信我已经应用了所有的服务包和更新。 是的,我已删除它(服务引用)并重新读取它(甚至使用了新名称),但我仍然得到重复的绑定和端点。真让人抓狂。 尝试删除引用,然后删除您的 ServiceReferences.ClientConfig 文件 - 这似乎是问题所在。 在我尝试之前,我在实际的服务引用中发现了 4 个我以前没有看到的数据源文件。它们被恰当地命名为:GetWidget1.datasource。我将更新上面的帖子以显示内容。以上是关于在 VS 2010 中更新 WCF 服务对 WebService 问题的引用的主要内容,如果未能解决你的问题,请参考以下文章
如何将具有许多功能的大型 WCF 服务导入 VS 2010?
为 WCF 负载测试加载 UI Vs Visual Studio 2010 [关闭]