WCF размещен в Windows службы ошибок - PullRequest
1 голос
/ 11 мая 2011

У меня есть WCF в VB, который должен быть размещен в службе Windows.Я управлял программой установки, поэтому сервис фактически устанавливается.Но, когда я пытаюсь запустить службу, я получаю следующую ошибку:

Служба на локальном компьютере запускается, а затем останавливается.Некоторые службы автоматически останавливаются, если у них нет работы, например службы журналов производительности и предупреждений.

Проверка средства просмотра событий дает мне следующее:

Службане может быть запущено.System.ArgumentException: ServiceHost поддерживает только типы классов обслуживания.
в System.ServiceModel.Description.ServiceDescription.GetService (Тип serviceType)
в System.ServiceModel.ServiceHost.CreateDescription (IDictionary`2 &agedContracts) .........

У кого-нибудь есть идеи, что происходит?Спасибо!

Ответы [ 2 ]

2 голосов
/ 11 мая 2011

Конструктор ServiceHost должен быть конкретной реализацией сервисного контракта.

Звучит так, как будто вы передаете интерфейс, а не реализацию службы.

1 голос
/ 27 февраля 2012
  svh = new ServiceHost(typeof(MCWCFService.MCManagementService));
  svh.AddServiceEndpoint(
          typeof(MCWCFService.IMCManagementService),
          new NetTcpBinding(),
          "net.tcp://192.168.0.2:8011");
  svh.Open();

При создании ServiceHost используйте имя класса - в приведенном выше это MCManagementService. В конечной точке используйте интерфейс - в приведенном выше это IMCManagementService.

...