Windows服务中承载的WCF服务
我有一个托管在Windows服务中的WCF服务。当用户修改WCF服务配置时,他需要重新启动服务 我想知道使用windows重新启动windows服务是否更好Windows服务中承载的WCF服务,wcf,windows-services,Wcf,Windows Services,我有一个托管在Windows服务中的WCF服务。当用户修改WCF服务配置时,他需要重新启动服务 我想知道使用windows重新启动windows服务是否更好 serviceController.stop() servicecontroller.start() 或者,每次他想重新启动WCF客户机时,都创建一个新的WCF客户机实例。如果在继承自System.ServiceProcess.ServiceBase的服务容器中创建WCF客户端的新实例,则不会丢失任何信息。 您应该在方法内部启动服务 p
serviceController.stop()
servicecontroller.start()
或者,每次他想重新启动WCF客户机时,都创建一个新的WCF客户机实例。如果在继承自
System.ServiceProcess.ServiceBase的服务容器中创建WCF客户端的新实例,则不会丢失任何信息。
您应该在方法内部启动服务
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()
}
并在方法内停止您的服务
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服务时,会自动调用这些方法
正如其他人所说,每次在您的服务上创建一个新的WCF客户端实例都不会产生任何影响
创建一个新客户端并不会真正重新启动服务-所以我认为这对您来说真的不是一个选项…是的,但是配置参数会被重置,对吗?这就是我想要的。创建一个新客户机是一个好主意吗?请解释你的问题中在“或通过创建…”之后的部分。nowaq:我的意思是我将在客户机右侧添加一个WCF服务的服务引用。使用它,我将每次创建一个新客户机。