2011-05-11 89 views
10

我有一個簡單而直接的問題:是否有任何性能優勢(或任何其他類型的好處)我不知道何時比較在IIS 7.5中託管WCF服務和。Windows服務?在IIS 7.5和Windows服務中託管WCF性能注意事項

我不是在這個話題的黑暗中,實際上承載了這兩個託管環境中的幾個WCF服務。不過,我即將開始一項新的服務,它有更多的用途,並希望「重新訪問」這個話題。現在我傾向於使用Windows服務。

我讀過的帖子如下:IIS WCF service hosting vs Windows Service它提供了一些很好的信息,但有點過時(是的,即使只有1.5歲;仍然使用代號'Dublin Technologies')。

對於我來說,沒有對Windows服務的支持,因爲我對安裝,部署和配置(包括向託管WCF服務的端口應用SSL證書)很滿意,所以這對我來說並不是什麼大不了的事情。 。IIS。

我一直以爲申請回收利用IIS將是一個下行託管WCF服務,讓潛在的通信可能斷裂。我知道一個.asmx IIS託管服務(轉換爲WCF),我已經收到了隨機'401 Unauthorized'(我的意思是每5-10,000次調用一次,真的是隨機的),並且標記了IIS和它的能力保持溝通100%的時間沒有應用程序池被回收(可能導致問題? - >這個問題是而不是在這裏的問題,僅供參考)。所以我想知道IIS。

因此,我想在Windows服務與IIS 7.5中的Windows Server 2008 R2上託管WCF服務,以當前日的角度來看(許多MSDN比較圖表也已過時,始終與IIS 6比較) 。謝謝!!

回答

5

對於IIS的AppFabric版本,在IIS 7.5上託管WCF服務變得更容易和更可靠。 AppFabric允許您配置服務以啓動應用程序池啓動並防止池像正常的Web應用程序一樣循環使用。它還提供了一些方法來允許您的WCF服務記錄有關其運行狀況的信息並監視服務。

對於我最近的WCF項目,我已經用ASP.Net 4和AppFabric用.svc擴展來託管代碼。 (目前,AppFabric中有路由問題的監測服務 - 這樣的.svc文件是必需的)

這裏有幾個關於WCF和AppFabric的更多有用的鏈接:

我在IIS方法中看到的另一個優點是它允許您在它旁邊創建頁面以幫助監視,維護和配置服務。使用Windows服務,您必須手動編輯您的配置文件或創建一個應用程序來爲您處理它。在WebForms/MVC應用程序旁邊託管WCF的能力在我的書中是一個巨大的優勢。顯然,你需要確保以某種方式保護它,以防止其他人窺視和查看狀態/配置它。

+0

Lovin'新的應用程序結構。我喜歡WCF,所以這些新東西都是 – NovaJoe 2011-05-11 15:42:16

+0

AppFabric實際上並沒有託管* WCF服務,但是正確嗎?它只是提供了我讀過的監控增強功能。 AppFabric也不是免費安裝,並且必須安裝在服務器上嗎?不顯示阻止者,但有時在服務器上獲取新軟件需要國會的行爲。 – atconway 2011-05-12 20:27:18

+1

你是對的,AppFabric實際上並不託管* WCF服務。 AppFabric是IIS的免費附加組件。因此,如果您可以通過W2k8R2上的IIS合法託管WCF,則可以使用AppFabric。除了它提供的監視功能外,它還可以提供一種啓動方法來加熱服務並使其保持活動狀態而無需回收。 – Joshua 2011-05-12 21:46:27