2011-05-10 8 views
1

Windows 서비스에서 호스팅되는 VB의 WCF가 있습니다. 서비스가 실제로 설치되도록 설치 프로그램을 관리했습니다.Windows 서비스에서 호스팅되는 WCF 오류

Service cannot be started. System.ArgumentException: ServiceHost only supports class service types.
at System.ServiceModel.Description.ServiceDescription.GetService(Type serviceType)
at System.ServiceModel.ServiceHost.CreateDescription(IDictionary`2& implementedContracts).........

누구는 무슨 일이 일어나고 있는지 어떤 아이디어가 :

The service on Local Computer started and then stopped. Some services stop automatically if they have no work to do, for example, the Performance Logs and Alerts service.

이벤트 뷰어를 Cheking하면 다음 날 제공 : 내가 서비스를 시작하려고 할 때, 나는 다음과 같은 오류가 발생합니다? 감사!

+1

일부 코드를 게시하십시오. 서비스 호스트를 여는 방법은 무엇입니까? – ukhardy

+0

실제로 작동합니까? –

+0

안녕하세요 AJ - 잠시 시간이 지났지 만 약간의 연구를 수행 한 후 첫 번째 답변을 확인했습니다. David Steele이 맞았습니다. –

답변

2

ServiceHost 생성자는 서비스 계약의 구체적 구현이어야합니다.

서비스 구현이 아니라 인터페이스로 전달되는 것처럼 들립니다.

+0

나는 당신이 무슨 말을하고 있는지 전혀 모른다. 설치 프로그램을 의미합니까 ??? –

1
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입니다.

관련 문제