WebService不会通过ServiceReference更新

时间:2011-12-28 12:04:49

标签: c# visual-studio silverlight web-services service-reference

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

基本上一切正常,只是我的SL服务中的变化在我的SL项目中不可见

如果我例如修改服务'接口的[DataContract]类中的某个属性,则两个项目编译良好但是在SL项目中访问Web服务时我只有修改前的状态。

在VisualStudios中查看ServiceReference ObjectBrowser给出了相同的结果:我的Web服务没有修改。

我通过内置的自动“添加服务引用”功能将ServiceReference添加到SL项目中。每次我修改Web服务时,我都会在SL项目中的服务引用上单击“更新服务引用”,该项目成功但没有效果。 即使删除服务参考,再次添加也不会向我显示带有更改属性的网络服务。

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

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

1 个答案:

答案 0 :(得分:3)

解决问题的一种方法(好吧,它可能不是最好的解决方案,甚至可能是最糟糕的解决方案,但我确信它会起作用)是做一堆清理:

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

好的,你会失去一些时间,但它会起作用。