使用WebServiceHostFactory优点和缺点

jdi*_*iaz 5 .net performance wcf

在IIS上托管WCF服务时,您可以选择手动配置端点或通过WebServiceHostFactory以声明方式配置端点.手动创建端点似乎并不困难,所以我想我会问.

  • 使用WebServiceHostFactory有什么好处?
  • 动态创建端点是否有任何性能影响?

Mar*_*ell 3

您能否澄清一下:您是否专门询问Web ServiceHostFactory(重点:“Web”)?或者只是 IIS 托管它与通过代码启动您自己的服务器之间的区别?

WebServiceHostFactory 是 .NET 3.5 中的新增功能,支持一些较新的 AJAX/JSON 内容。

实际上,在 IIS 中(使用 .svc),您已经在使用 ServiceHostFactory - 只是随 WCF 附带的默认值。如果您愿意,您可以编写自己的工厂,我过去曾这样做过,以创建一个侦听 https 的工厂(我在托管多个站点的场上遇到了问题,它无法识别正确的站点) http,但 https 很好 - 所以我通过工厂完全禁用了 http)。

只要您不发疯并在 200 个端点上收听,性能就不应该有任何不同......

通常,当您在(例如)Windows 服务中托管服务器时,会使用手动创建服务器。IIS 对于某些事情来说很好,但是应用程序池会被回收,因此对于需要保留长期状态的服务器来说并不理想。IIS 的优点是更容易配置,特别是在安全性(SSL 等)和压缩方面。