Служба WCF, размещенная в службе Windows - PullRequest
1 голос
/ 05 декабря 2011

У меня есть служба WCF, размещенная в службе Windows. Когда пользователь изменяет конфигурацию службы WCF, ему необходимо перезапустить службу.

Я хотел бы знать, лучше ли перезапуск службы Windows с помощью

serviceController.stop() 
servicecontroller.start()

или путем создания нового экземпляра клиента WCF каждый раз, когда он хочет его перезапустить. Никакая информация не будет потеряна, если будет создан новый экземпляр клиента WCF.

1 Ответ

2 голосов
/ 05 декабря 2011

В вашем сервисном контейнере, который унаследован от 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 не оказывает влияния на ваше обслуживание

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...