2010-11-24 142 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