2011-06-17 110 views
2

怎样的生命周期看起来像以下:Web服务和单例WCF服务的WCF生命周期?

  1. WCF web服务(HTTP)

如果我得到这个正确的服务将在每次调用产生的?

  1. WCF netTCP(也主持在IIS)作为单

是否正确thtat WCF服务将在第一个调用中创建,然后不会跌?或者当一段时间没有联系时它会下降?如果是这样,我在哪里设置这个超时?在我的情况下,服务是为客户保持状态,所以如果客户端连接但是闲置时间会超过超时时间会发生什么?

回答

3

对于1)服务将在每个客户端呼叫

2)单独服务 的单独服务是最终的可共享的服务被创建。当您配置服务为 一单,所有客户端都独立地连接到同一个知名 实例上下文和隐式内相同的情况下,无论哪个端点它们连接到服务的 。单身创建只有一次,在创建 主机时,永远生活:其设置的,只有当主机关机

由于其本身的性质,单是共同的,每个客户端应该简单地建立自己的代理或代理给它。

1

1)如果你正在使用的wsHttpBinding则默认情况下你会得到PerSession实例化,你会得到每代理一个实例。如果您使用的是BasicHttpBinding,那么默认情况下您将获得PerCall实例化 - 每个请求一个实例。

2)正如托马斯所说,单身人士是在ServiceHost打开时创建的(或者你可以自己创建它们,只要IIS保持AppDomain/worker进程的活跃状态,单身人士就会活下去,你可以配置影响这个过程的超时在不同程度取决于哪个版本的IIS您使用http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/add/recycling