2011-04-15 78 views
1

我試圖用push-model寫一個聊天應用程序,但到目前爲止,我只在具有自託管的wcf服務(使用雙工net.tcp)的Intranet環境中這樣做。現在我想在IIS7中將此服務器在線。我檢查了一些託管服務提供商,但都回復了類似這樣的回答:「不,我們沒有激活net.tcp,我們可能永遠不會激活它」。他們爲什麼如此不願意這樣做?看來我必須得到我自己的虛擬服務器?但是我面對IIS7使用net.tcp有什麼風險?我還有什麼其他選擇?我已經檢查出「WebSockets」,但它似乎還沒有準備好,林不知道是否它的解決方案在我的情況。我不寫一個HTML5聊天,而是一個桌面聊天窗口。爲什麼IIS7中的net.tcp是共享主機環境中的問題?

回答

2

那麼有一些潛在的問題

  1. 通過打開一個新的端口防火牆將需要調整。
  2. 通過偵聽TCP,應用程序的攻擊面已經增加。
  3. 每個客戶都必須進行管理,因此他們不會嘗試使用相同的端口號。
  4. TCP需要連接保持打開狀態,從而增加服務器的負載。
  5. 如果機器是複雜的事情過於

注意,您可以使用HTTP來進行雙工通信NAT之後,使用WSDualHttpBinding

+0

2. HTTP也是TCP。風險不在於TCP自身,而在於使用TCP上的新高級協議,這不是人們所熟悉的HTTP,主機可能並不經歷並且無法執行深度數據包檢測。 3.錯誤。請參閱[Net.TCP端口共享](http://msdn.microsoft.com/en-us/library/ms734772.aspx)。 5.錯誤。它並不比HTTP更復雜,因爲HTTP和Net.TCP都通過TCP運行。 (6.)WSDualHttpBinding在Intranet之外是一個不好的選擇 - 由於NAT問題而不是因特網友好的([解釋](http://stackoverflow.com/questions/4526284)) – 2011-04-15 17:58:23

0

相信對於不支持的net.tcp的主要原因是由於其實IIS 6.0 lacks support for non-HTTP protocolsNet.TCP,named pipes,MSMQPeer-to-Peer。非HTTP協議要求使用Windows Process Activation Services (WAS),這是大多數共享主機提供商的舒適區域之外。這是一個integral part of IIS 7.0及以後,但從供應商的技術角度來看,WAS還是比較新的 - 他們仍然需要接受教育。有希望的是,時間和可能增加的需求(因爲技術被同化)將照顧到這一點。

相關問題