2010-11-24 140 views
3

我一直在評估是否selfhost在Windows服務WCF服務或IIS/asp.net與自託管的WCF服務

我想知道你運行哪些現實世界的問題時,有自我託管WCF成問題。

回答

0

我會說,這主要是由你的傳輸協議驅動的。

如果您使用TCP或命名管道,我會主張自我託管(是的,我知道IIS可以做但我想自我託管的靈活性)。但是,對於HTTP,我相信IIS是一條可行之路,因爲它涵蓋了很多需要在自託管中實施的許多問題。

自託管一個TCP或命名管道服務是快速和容易的,沒有特別的陷阱。只有在命名管道上,我必須在Windows Vista/7/2008上說named pipe hardening,這使得模型變得更加複雜,對我而言,這很不穩定。

3

爲什麼你(和許多其他人也是)立即假定自託管會導致問題(或比在IIS中託管更多的問題)?

我們幾乎完全使用了一堆自託管的WCF服務(在Windows NT服務中),我不希望以任何其他方式使用它。對於任何嚴重生產就緒託管,我會總是首先推薦自我託管。

爲什麼?

  • 我可以完全控制的URL服務 - 沒有強迫IIS服務器名,虛擬目錄,端口,和我一個* .svc文件

  • 我可以啓動和停止這些服務的意願,這是非常有用的在許多情況下

  • 所有綁定和協議的全面支持 - 沒有什麼大驚小怪的,沒有搞亂 - 它只是工作小號

  • 我沒有處理應用程序池,應用程序池回收和IIS

    的其他煩惱

如此反覆:爲什麼你想當然地自託管會導致問題??它實際上會阻止相當多的IIS問題!

+0

其實我更喜歡自我託管的想法。我只是不喜歡何時選擇託管方法的ms文檔。我也不想因疏忽而失明。 – 2010-11-25 05:34:28