2

更新我在Visual Studio解決方案的兩個項目:一個是WcfService應用程序項目,另一種是普通C#Silverlight項目的ServiceReference訪問Web本地服務的WebService不會通過服務引用

基本上一切正常,除了一個事實,即在我的Web服務的變化是不是在我SL的項目可見

如果我例如修改在[DataContract]類服務的一些屬性」界面,這兩個項目都編譯得很好,但是在SL項目中訪問Web服務時,我只有修改前的狀態。

查看VisualStudios ObjectBrowser中的ServiceReference給了我相同的結果:我的Web服務沒有修改。

我通過內置的自動「添加服務參考」函數將ServiceReference添加到SL項目中。每次我修改Web服務時,我都會在SL項目中的服務引用上點擊「更新服務參考」,該服務成功但無效。 即使刪除服務參考和再次添加它不顯示具有更改屬性的Web服務。

也許是因爲我前幾天重命名服務項目 - 我從解決方案中卸載了服務項目,重命名了文件系統中的文件夾,並將其作爲「現有項目」再次添加到解決方案中。然後我重命名了服務文件(.svc & .svc.cs)和服務接口文件。 ==>之後,一切似乎仍然工作,除了我無法識別的修改?!另外,當向這個服務添加ServiceReference時,我看到兩個文件的舊名稱不是新的!

有沒有人有線索這裏發生了什麼? 預先感謝您閱讀這個長問題;)

+0

這可能聽起來像一個奇怪的問題,但你試過重新啓動你的盒子? – twaggs 2011-12-28 14:07:17

回答

3

解決您的問題的一種方法(好吧,它可能不是最好的解決方案,甚至可能是最差的一個,但我相信它會工作)是做了一堆的清理:

  • 從您的SL項目中的服務引用
  • 刪除你的文件系統相關的一切你刪除的服務引用(即下降相關的文件/在SL項目 目錄文件夾)
  • 也打開你的SL csproj(或vbproj)文件與記事本和刪除te與服務引用相關的行(在文件中搜索 「服務引用」)
  • 從頭開始創建一個新的WcfService應用程序項目,並添加所需的項目(引用,文件...),所以它反映你有
  • 刪除舊WcfService項目
  • 編譯你的新WcfService項目
  • 添加新WcfService項目作爲服務引用到您的SL項目

好了 當前WcfService項目,你會失去一些時間做這件事,但它會工作。

+0

嘿謝謝你的回答! :)我已經搜索了與服務相關的所有文件 - 現在我發現我明顯錯過了一個文件:.svc文件包含一行與我的Web服務項目的舊名稱。重命名後,我的SL項目中的Web服務引用完美地工作! 所以,我從一開始就做的 - 手工重命名和重新定位項目,完美地工作 - 我只是忘了重命名上述行:) – 2011-12-28 14:54:51

+0

@ ken2k:非常感謝您爲回答我的問題所做的努力! :) – 2011-12-28 15:00:30