我在Windows服务中托管了WCF服务。当用户修改WCF服务配置时,他需要重新启动服务。
我想知道使用
重新启动Windows服务是否更好serviceController.stop()
servicecontroller.start()
或者每次要重新启动时创建WCF客户端的新实例。如果创建了WCF客户端的新实例,则不会丢失任何信息。
答案 0 :(得分:2)
在继承自System.ServiceProcess.ServiceBase
你应该在方法
中开始服务protected override void OnStart(string[] args)
{
servicecontroller.start()
}
并在方法
中停止您的服务protected override void OnStop()
{
//here clean up code or any tear-down necessary to stop your service.
serviceController.stop()
}
因此,当您从服务托盘启动/停止Windows服务时,会自动调用这些方法。
正如其他人所说,creating a new instance of the WCF client every time
对您的服务没有影响