在Windows服务中自托管WCF服务是否有任何限制(性能,内存,线程等)...而不是使用IIS?有很多文章显示如何做到这一点,但很少讨论如果你应该这样做。我构建的一个相当复杂的应用程序要求我自我托管WCF服务以进行点对点通信。在服务器上使用相同的自托管模式对于全局用户必须达到的“主”服务是非常诱人的。
答案 0 :(得分:4)
要考虑的要点是:
请查看the MSDN docs,了解您需要考虑的折衷方案。
答案 1 :(得分:0)
我帮助构建了两个利用WCF自托管的系统,它运行良好(我们使用NetTCP作为底层通信协议)。这主要是一个概念证明,看看我是否可以做到并且最终工作得很好,尽管有一些性能需要考虑。首先,根据服务的数量,你的内存占用量可能会有点大 - 我设计的那个服务有大约40个单独的服务,但是接管的支持团队不断添加新服务,最后我听到了92个。这开始引入一些缓慢的启动时间,除非你打开初始化过程,因为在它自己的AppDomain(你肯定想要做的事情)下打开每一个都有一些额外的开销。我无法谈论性能是否比IIS托管更好/更糟,但总的来说,它确实运行良好 - 只是准备好了解背景线程和AppDomains作为流程的一部分。