2011-04-15 45 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还是比较新的 - 他们仍然需要接受教育。有希望的是,时间和可能增加的需求(因为技术被同化)将照顾到这一点。

相关问题