代码之家  ›  专栏  ›  技术社区  ›  Nathan Ridley

什么是IIS托管(HTTP)WCF服务的生命周期?

wcf
  •  12
  • Nathan Ridley  · 技术社区  · 15 年前

    我的应用程序中有一个依赖注入容器设置,我认为每次出现WCF服务请求时组合容器都会效率低下。

    有人能向我解释一下,对于HTTP/IIS托管的WCF服务,服务的生命周期是什么?如果我能解决这个问题,我就可以对容器的存储、实例化、销毁位置等做出有根据的决定。

    3 回复  |  直到 11 年前
        1
  •  23
  •   Carrie Kendall netcult    11 年前

    如果你 InstanceContextMode 佩雷尔 服务类将为每个传入的请求从头开始创建,然后在完成后进行处理。

    如果你 实例模型 投降 服务类将被创建并用于在会话期间(或在遇到“InactivityTimeout”或发生错误之前)为一个给定的客户机提供服务。

    如果你 实例模型 单一的 (singleton),服务类将在第一个请求进入时创建,并且只要请求不断进入,只要没有发生错误,并且没有到达非活动超时,服务类将保留在内存中。

    所以,你有了!当然,并发模式 PerSession Single 服务)也将发挥作用,使事情更“有趣”

        2
  •  1
  •   urig    15 年前

    正如您所提到的,您正试图将WCF服务实例化与依赖项注入容器集成在一起,我只是想说,我在使用 Castle WCF Integration Facility 就这么做。

    它特定于 Castle Windsor 依赖注入容器,但是由于它是开放源码的,所以您可以查看并理解提供的一些挑战和解决方案。

        3
  •  0
  •   Krzysztof Kozmic    15 年前

    这取决于你的服务行为。 明确地 this this .