WCF和容器生存期



我相信这是显而易见的,但我还没能找到一个非常具体的干净的答案,在IIS 7.5托管的WCF服务的容器的生命周期。

如果容器生活在我的服务代码中,它将在每个请求上创建,除非InstanceContextMode设置为single?(我知道这主意不好)

如果我配置WCF使用ServiceHostFactory和IInstanceProvider在每次调用时使用容器来解析服务对象,InstanceContextMode将如何工作?这不是取决于容器使用的生存期策略吗?

如果是在工厂中创建的单例,是否足以使容器不会在每次调用时重新初始化?

谢谢

您应该在自定义的ServiceHostFactory中托管容器,因为对于给定的WCF服务,只有一个ServiceHostFactory实例。

这确保了容器本身是一个单独的实例,从而使它能够有效地管理所有组件的生命周期。

最新更新