在 IIS 上托管 WCF 服务时,您可以选择手动配置端点或通过 WebServiceHostFactory 以声明方式配置。手动创建端点似乎并不难,所以我想我会问。
最佳答案
你能澄清一下:你是专门询问 的吗?网站 ServiceHostFactory(强调:“Web”)?或者只是 IIS 托管它与通过代码启动自己的服务器之间的区别?
WebServiceHostFactory 是 .NET 3.5 中的新增功能,支持一些较新的 AJAX/JSON 内容。
实际上,在 IIS(使用 .svc)中,您已经在使用 ServiceHostFactory - 只是 WCF 附带的默认设置。如果你愿意,你可以写你自己的工厂,我过去这样做是为了创建一个 的工厂。只有在 https 上监听(我在托管多个站点的农场上遇到了问题,它无法识别 http 的正确站点,但 https 很好 - 所以我通过工厂完全禁用了 http)。
只要您不发疯并在 200 个端点上收听,性能就不应该有任何不同......
通常,当您在(例如)Windows 服务中托管服务器时,会使用手动创建服务器。 IIS 在某些方面很好,但应用程序池会被回收,因此对于需要保持长期状态的服务器来说并不理想。 IIS 具有更易于配置的优点,尤其是在安全性(SSL 等)和压缩方面。
关于.net - 使用 WebServiceHostFactory 的优缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/260455/