2012-04-25 160 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

相關問題