Программно определить тип службы ServiceHost

#c# #.net #wcf #servicehost #servicecontract

#c# #.net #wcf #servicehost #servicecontract

Вопрос:

Добрый день,

Я пробовал искать в MSDN и здесь, но я не думаю, что смогу это сделать:

Учитывая ссылку на a ServiceHost , возможно ли определить тип хоста, который он выполняет?

Что-то вроде

 ServiceHost host = new ServiceHost(typeof(MyContractImplementation));
Type serviceType = host.MagicCallHere();
Assert.True(typeof(MyContractImplementation) == serviceType);
  

Существует ли MagicCallHere?

Бонусные баллы, если вы можете избежать отражения…

Ответ №1:

Вы можете проверить проверить свойство servicetype описания:

 var serviceType = host.Description.ServiceType
  

Ответ №2:

Проверьте, как показано ниже :

 typeof(ServiceContract) == host.Description.ServiceType