2010-05-28 2 views
1

두 개의 Windows 서비스가 있는데 X와 Y를 호출합니다. X는 내 응용 프로그램의 일반 기능을 처리하고 Y는 X를 최신 상태로 유지합니다. X에 대한 업데이트를 확인하여이를 수행합니다. 파일이 존재하면 다운로드하고, X를 종료하고, 새 파일을 복사하고, X를 다시 시작합니다.서로 업데이트하는 Windows 서비스를 작성하는 올바른 방법은 무엇입니까?

그러나 Y는 X에 대해 동일한 작업을 수행합니다. 내 관심사는 각 서비스가 서로를 종료 할 수 있다는 것입니다. 즉, 다시 시작하지 않는 것입니다. 각 서비스는 분 이상 를 종료 한 경우

  1. 만 을 확인하는 것이, 가 업데이트되지 않습니다 세 번째 서비스, Z를 유지하고있는 경우 : 나는

    를 세 가지 솔루션을 생각할 수 그래서 이 다시 시작됩니다. 이 어쨌든,이 할 수있는 나쁜 일이되지 않을 것이다, 그러나 그것은 는 다시 원래의 문제, 을 소개 나는 업데이트 할 수 있도록하고 싶습니다 뭔가처럼 보인다. 레지스트리에서 잠금을 유지

  2. , 등 그 X 검사 Y는 그 반대의 경우도 마찬가지 업데이 트 자체를하기 전에 을 업데이트하고, 경우.
  3. 각 서비스가 OnStop 메서드에서 다른 서비스를 시작하도록합니다. 그래도 조금 익숙하지 않은 것 같습니다. 이 문제에 대한 적절한 해결책은

무엇입니까?

답변

1

나는 System.Threading.Mutex를 사용하여 끝냈다. 두 서비스는 항상 동일한 시스템에서 실행되므로 매우 쉬운 솔루션입니다.

관련 문제