2012-10-26 212 views
0

我是新來的wcf並開始學習。我得到了一個混亂,我創建了一個小型的wcf服務,只是不把它放在IIS,控制檯應用程序或贏得服務,但從另一個應用程序,我可以添加svc文件的服務引用,並發現它工作。如果wcf可以在沒有像「IIS,控制檯應用程序或贏取服務」的任何地方託管的話,那麼爲什麼人們總是會在IIS,控制檯應用程序或贏得服務中託管wcf服務。誰能告訴我原因。關於wcf服務託管

+0

你是什麼意思與「從另一個應用程序」?與控制檯應用程序不一樣嗎? – Andreas

+0

我開發兩個應用程序一個wcf服務和另一個控制檯應用程序。從我的控制檯應用程序我只是添加Web服務參考服務的URL像「http:// localhost:21541/Service1.svc」,我看到我可以創建&調用服務實例。所以當沒有在任何地方託管wcf服務的時候我們可以打電話爲什麼人們主持wcf服務。謝謝 – Thomas

+0

在IIS中託管Web服務非常簡單,非常方便。我喜歡我可以直接從VS直接發佈應用程序到這些服務器。我也喜歡我不需要關心權限,因爲IIS負責處理這個問題。我不需要在配置中指定任何端點,因爲端點始終是託管該服務的IIS中的Web應用程序。通常還需要快速設置。我認爲沒有任何優勢可以爲您的基於客戶端 - 服務器的應用程序提供支持您必須確保您的應用程序始終在運行,並在崩潰時重新啓動它,IIS將免費提供。 – Andreas

回答

0

人們通常會使用IIS和Windows服務,因爲它們更易於設置和運行更一致。它們也可以更容易地託管在服務器可以配置爲自動啓動的服務器上,並且通常wcf用作服務器通信方法,通常這是您想要執行的操作。

在控制檯應用程序中託管通常更容易設置簡單的示例用於測試目的,當您想要在本地測試您的服務時。

雖然在應用程序中儘可能託管,但使用wcf在同一臺計算機上的2個應用程序之間進行通信的情況並不常見。

編輯:

你原來的問題問爲什麼人們總是談論IIS,服務等我提出的一點是,通常WCF是用於Web服務,而且通常比當地其他的服務器上運行機。儘管它可以用於同一臺機器上的進程間通信,但這並不是最常見的用例。這就是爲什麼你看到很多使用IIS的例子,而沒有太多的託管在Windows窗體應用程序中。

+0

有一點我不清楚,你說:「wcf服務也可以更容易地託管在服務器上,服務可以配置爲自動啓動」。你談論什麼服務器。以及如何配置服務以自動啓動。你能否詳細解釋一下你對服務器和配置的看法。 – Thomas