2012-05-04 51 views
0

我的解決方案cotains以下項目如何更新WCF服務引用自動

  • A(WCF服務)
  • B(WCF服務)
  • FOO參考資料(A)
  • 條(引用乙)

如果我對A做了更改,我們必須更新foo中的服務引用。

我們現在要做的就是在Visual Studio中手動啓動A & B,方法是轉到Debug |啓動新實例,以便卡西尼啓動服務(http:// localhost:59445/A.svc),然後轉至foo並更新服務引用。

我想找到一種方法(最好是命令行)來自動更新foo和bar中的服務引用。有一個更好的方法來做到這一點,然後手動進行。

對此提出建議?

編輯:我希望得到一些「你做錯了!」註釋。我需要這樣做的原因是因爲我們偶爾會向服務中添加新功能,從而更改合同。但更重要的原因是我們正在使用DVCS(mercurial),並且使得我們正在從VS2008中運行的分支合併到運行VS2010的另一個分支中,使事情變得更糟。每一次這樣的合併都非常麻煩VS2010服務引用,而且它更容易更新服務引用。我們現在必須親手做這件事。自動執行它會更好。

回答

2

你可以看看this blog post(+ part 2)或this forum post甚至this SO post。它不是開箱即用的,所以提供的解決方案可能會有點複雜和耗時,以配置您的情況,但無論如何,這當然取決於您。

+0

博客文章是無效鏈接 – WhiskerBiscuit

+0

這很有趣,當我發佈它,它的工作。嘗試通過這個URL到達那裏:http://blogs.microsoft.co.il/blogs/oshvartz/ – Styxxy

+0

@WhiskerBiscuit:我更新了網址,現在他們應該再次工作(我還添加了一個鏈接到第2部分的博客後)。 – Styxxy

3

如果可以,您應該完全廢除您的服務參考。只需創建一個到服務合約DLL的二進制引用,然後在客戶端上使用ChannelFactory即時創建一個頻道(例如here)。

然後,如果您的服務合同更改,您只需更新此程序集引用。