在VS 2010中更新对Web Service问题的WCF服务引用

时间:2012-10-10 16:07:35

标签: c# visual-studio-2010 wcf web-services

我目前的项目是使用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方法来使用“更新的”服务方法。我的问题是:

  1. 有没有办法覆盖以前的方法而不生成新的类型来容纳更新?
  2. 每次更新WSDL时,是否必须手动清理
  3. 我是否错误地更新了服务引用?我需要使用svcutil.exe吗?

  4. 我发现服务引用中的4个文件以.datasource结尾。它们都有新的typename(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 个答案:

答案 0 :(得分:1)

你正在使用vs 2010?

这是旧版本中的错误,但在2010年已修复 - 请参阅here