2012-01-11 5 views
3

각기 다른 매개 변수로 여러 인스턴스를 실행할 수있는 Windows 서비스를 개발할 수 있기를 원합니다. 이상적으로 브라우저 기반 제어판에서 이러한 매개 변수를 유지할 수 있기를 원합니다.C# 동적 파일 시스템 감시자 서비스

구성 파일을 XML 파일에 저장하는 C#에서 제어판을 작성했습니다. 여기에서 실행할 서비스의 수와 매개 변수를 구성 할 수 있어야합니다. 필요에 따라 서비스의 인스턴스를 동적으로 추가 및 제거 할 수 있기를 원합니다.

내 질문은 : 1) 이것이 가능합니까? 2) 제어판에서 특정 속성으로 서비스를 시작할 수 있습니까? (아마도 "NET START"명령 줄 매개 변수를 사용하여?

[편집] 나는 ServiceController 클래스와 관련하여 온라인에서 뭔가를 보았으므로 서비스의 인스턴스를 추가 및 제거하고 서비스를 시작/중지 할 수 있습니까? ? [/ 편집] 어떤 도움

답변

3

편집에 대한

감사 : 나의 초기 대답은 사실로 잘못

당신은 사용 명령 줄 매개 변수. s를 NET START (백 슬래시로 시작하는 매개 변수 만 허용) 또는 SC START (매개 변수로 무엇이든 허용) 중 하나를 사용합니다. 동적으로 선택한 명령 줄 매개 변수로 서비스를 시작할 수 없습니다. 매개 변수는 서비스 등록시 지정할 수도 있습니다.이 경우 서비스 등록 시간 이후에도 일정하게 유지됩니다.

그러나 서비스의 여러 인스턴스를 시작하는 것은 잘못된 생각처럼 들립니다. 실행 중에 구성한 서비스의 인스턴스 (예 : ServiceController.ExecuteCommand)를 IMHO에서 수행해야하는 것을 막을 수있는 방법은 없습니다.

는 서비스와 통신 예를 How to communicate with a windows service from an application that interacts with the desktop?How to create and communicate with a C++ Windows Service in Visual Studio 2010?

+0

말이 위해 참조하십시오. 그러나 서비스는 파일 시스템 감시자를 사용하며 감시 할 여러 폴더가 있고 파일이 나타날 때 각각 다른 조치가 필요하기 때문에 여러 개가 필요합니다. 동일한 서비스에서 여러 폴더를 볼 수 있습니까? 지금까지 나는 어떻게해서든지 해결할 수 없었다! 고마워요 :) – CompanyDroneFromSector7G

+0

@bukko : 첫째, 내 초기 대답은 잘못 (나는 그것을 수정했습니다). 둘째, 물론 동일한 서비스에서 여러 폴더를 볼 수 있습니다 (예 : 한 폴더를 여러 번 볼 수있는 코드 사용). – Jon

+0

좋아요, 당신이 말한 것처럼, 저는 최상의 솔루션 인 것처럼 보이는 동일한 서비스에 여러 명의 관찰자를 추가 할 수 있습니다. arrayList에 임의의 수의 관찰자를 추가하는 코드를 발견했습니다. 그러나 논리적 인 장소가 InitialzeComponent 메소드 인 것처럼 보이기 때문에 어디에서 코드를 입력해야 하는지를 제외하고는이 코드가 어디로 가야하는지 모른다. – CompanyDroneFromSector7G

관련 문제