2009-12-16 4 views
1

Windows 서비스로 호스팅되는 WCF 서비스가 있습니다. WCF 서비스는 동일한 서버에서 msmq 큐를 사용합니다.Windows 서비스 시작 순서로 인해 WCF 서비스에서 오류 상태가 발생합니다.

서버를 다시 시작하면 내 WCF 서비스가 msmq 서비스 전에 시작됩니다. 그러면 내 WCF 서비스가 오류 상태가됩니다.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까? msmq 서비스에 종속성을 설정해야합니까? wcf 서비스에서 이것을 처리 할 수있는 방법이 있습니까?

답변

0

디자인 타임에 NamedServiceInstaller 클래스에서이 작업을 수행 할 수 있습니다. 이전에 시작하려는 각 서비스의 ServicesDependedOn 속성에 서비스 이름이 포함 된 문자열을 추가하십시오.

1
ServiceInstaller serviceInstaller = new ServiceInstaller(); 


// Adding this property to your ServiceInstaller forces 
// your service to start after MSMQ. 

serviceInstaller.ServicesDependedOn = new string[] { "MSMQ" }; 
0

Windows Server 2008에서 서비스 시작 유형을 자동 (지연 시작)으로 설정하는 경우 다른 옵션이 될 수 있습니다. 이렇게하면 WCF 호스팅 서비스 전에 MSMQ 서비스가 시작됩니다.
하지만 Shiraj의 의존성 설정에 대한 대답이 더 좋습니다.

관련 문제