WebService不能通过servicerreference进行更新

本文关键字:更新 servicerreference 不能 WebService | 更新日期: 2023-09-27 18:19:00

我的Visual Studio解决方案中有两个项目:一个是WcfService应用程序项目,另一个是普通的 c# Silverlight项目,带有ServiceReference,用于本地访问Web服务

基本上一切都很好,除了我的Web服务中的更改在我的SL项目中不可见:

例如,如果我修改了服务接口的[DataContract]类中的某些属性,两个项目都可以正常编译,但是在SL项目中访问web服务时,我只有修改前的状态。

在VisualStudios ObjectBrowser中查看ServiceReference给了我相同的结果:My Web Service without modification.

我通过内置的自动"Add ServiceReference"功能将servicerreference添加到SL项目中。每次修改web服务时,我都在SL项目中的服务引用上单击"更新服务引用",结果成功,但没有效果。即使删除服务引用并重新添加也不会显示带有更改属性的web服务。

可能是因为几天前我重命名了服务项目——我从解决方案中卸载了服务项目,重命名了文件系统中的文件夹,并再次将其作为"现有项目"添加到解决方案中。然后我将服务文件重命名为(。svc,.svc.cs)和服务接口文件。==>在那之后,一切似乎工作仍然很好,除了我无法识别的修改?!此外,当添加servicerreference到此服务时,我看到的是我重命名的两个文件的旧名称,而不是新名称!

有人知道这里发生了什么吗?提前感谢您阅读这个长问题;)

WebService不能通过servicerreference进行更新

解决问题的一种方法(好吧,这可能不是最好的解决方案,甚至可能是最坏的解决方案,但我相信它会工作)是做一些清理:

  • 从SL项目中删除您的服务引用
  • 删除文件系统中与您删除的服务引用相关的所有内容(即删除SL项目中的相关文件/文件夹)目录)
  • 也用记事本打开你的SL csproj(或vbproj)文件,删除与服务引用相关的行(搜索文件中的"服务引用")
  • 从零开始创建一个新的WcfService应用程序项目,并添加所需的内容(引用、文件…),以便它反映WcfService应用程序当前的WcfService项目
  • 删除旧WcfService项目
  • 编译新的WcfService项目
  • 将新的WcfService项目作为服务引用添加到您的SL项目

好的,这样做会浪费一些时间,但它会工作的