2013-08-26 3 views
0

Я создал проект службы WCF. Имеет следующее содержание в файле SVC.Хостинг службы WCF как служба Windows

<%@ ServiceHost Service="Deepak.BusinessServices.Implementation.ApiImplementation" 
     Factory="Deepak.BusinessServices.Implementation.CustomServiceHostFactory"%> 

SVC ссылка

http://localhost/DeepakGateway/Service.svc 

Сервис UP и WSDL генерируется. Теперь я хочу разместить эту службу как службу Windows. Как я могу это сделать?

Я создал проект «Windows Service» и получил следующий код.

protected override void OnStart(string[] args) 
    { 
     if (m_Host != null) 
     { 
      m_Host.Close(); 
     } 
     Uri httpUrl = new Uri("http://localhost/DeepakGateway/Service.svc"); 

     m_Host = new ServiceHost 
     (typeof(?????? WHAT TO FILL HERE?), httpUrl); 
     //Add a service endpoint 
     m_Host.AddServiceEndpoint 
     (typeof(?????? WHAT TO FILL HERE?),), new WSHttpBinding(), ""); 
     //Enable metadata exchange 
     ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); 
     smb.HttpGetEnabled = true; 
     m_Host.Description.Behaviors.Add(smb); 
     //Start the Service 
     m_Host.Open(); 


    } 

ответ

0

Вам нужно добавить тип класса, который реализует свой контракт на обслуживание в ServiceHost конструктора и тип контракта в службы в вашем AddServiceEndpoint

Если предположить, что класс реализации службы выглядит как это:

namespace Deepak.BusinessServices.Implementation 
{ 
    public class ApiImplementation : IApiImplementation 
    { 
     .... 
    } 
} 

, то вам необходимо:

m_Host = new ServiceHost(typeof(ApiImplementation), httpUrl); 
m_Host.AddServiceEndpoint(typeof(IApiImplementation), new WSHttpBinding(), ""); 
  • хозяин службы должен знать тип какой (бетон) класса обслуживания для размещения
  • конечной должен знать, что контракт на обслуживание (интерфейс) он подвергает
+0

Существует много контрактов на обслуживание, которые мне нужно выбрать! –

+0

@IsharehappyK: тот, который вы хотите открыть на этой конечной точке .... –

 Смежные вопросы

  • Нет связанных вопросов^_^