2012-04-25 128 views
3

您好我的WCF服务有一个服务构造函数。理想情况下应该只初始化一次。但是我发现服务构造函数每隔几分钟就会被调用一次。是否有一些时间值或其他配置设置可能会限制否。对构造函数的调用。WCF服务构造函数

回答

1

创建WCF服务类(并因此调用构造函数)取决于服务InstanceContextMode的值。根据其value(例如PerCall,PerSession,Single)服务实例被创建。

您可以将该值设置为Single,这将使该类的行为类似于单例。

1

你可以通过使用静态构造函数来实现。

如果构造函数需要初始化非静态属性,那么可能你需要的是一个单独的WCF服务。 WCF服务可以有不同的实例化模式(PerCall,PerSession和

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)] 

注意的是,单实例模式不会大概规模。

你可以阅读更多关于service instance management here

+0

的Instancecontextmode已被设置为单 – xaria 2012-04-25 09:04:08

+0

哪里是该服务托管? IIS? Windows服务?如果应用AppDomain被卸载(即:IIS池回收),显然服务构造函数将被再次调用。 – Javi 2012-04-25 13:52:21

+0

是的,它托管在IIS 5.1上 – xaria 2012-04-26 02:05:09

相关问题