2012-11-07 37 views
0

我想知道是否可以在同一個項目(web應用程序)中添加對web服務的引用,即我在同一個項目中添加了一個引用,定義。在同一個項目中添加對服務的引用

之所以這樣做是因爲

  • 託管服務變得更容易(承載Web應用程序時,就會自動託管)。
  • 調用服務是動態完成的,即服務url在運行時被提取(從db),並調用該特定服務上的方法。 (這是一個在許多域中託管的Web應用程序,每個應用程序都知道其他應用程序的服務URL(存儲在數據庫中的URL),因爲我有服務的引用,所以我可以在運行時通過更新Url代理並調用它。)

此外,我不確定是否要這樣做。我看到很多人建議使用WCF而不是Web服務,但是我不知道如何用WCF完成同樣的事情。

在SO - Add Service Reference to WCF Service within Same Project上已經有一個關於這個問題,但我認爲它不適用於我的情況。

回答

1

如果服務已經在您的項目中,您可以直接使用它,而不需要Web服務代理。

畢竟,Web服務用於將應用程序的功能暴露給外部世界,而不是系統的其他部分。

+0

就像我說的那樣,服務URL在運行時被取出(它可能(並且大部分會)指向另一個web應用程序)並相應地調用。所以實際上,我正在訪問該Web應用程序的功能/數據。 – 1nfected

+0

更好地將您的服務轉移到解決方案中的單獨項目中。然後,您可以發現並引用該服務沒有問題 –

+0

我可以這樣做,但這意味着每次我託管Web應用程序的新副本時,我都必須託管Web服務。如果我將Web服務與Web應用程序保持在同一個項目中,這項工作將被保存。無論如何,爲什麼這種做法不好..? – 1nfected

相關問題