TopShelf를 사용하여 Windows 서비스를 만들려고합니다. 하나의 서비스 인스턴스로 모든 것이 잘 작동합니다. 그러나 전체 서비스 폴더를 다른 위치에 복사 한 다음 "시작"위치에 설치를 실행하면됩니다.TopShelf 동일한 컴퓨터에 동일한 서비스를 여러 개 설치하십시오.
이름 지정 충돌이 없도록 구성 파일의 값을 기반으로 servicename, description, displayaname을 지정합니다.
TopShelf를 사용하여 Windows 서비스를 만들려고합니다. 하나의 서비스 인스턴스로 모든 것이 잘 작동합니다. 그러나 전체 서비스 폴더를 다른 위치에 복사 한 다음 "시작"위치에 설치를 실행하면됩니다.TopShelf 동일한 컴퓨터에 동일한 서비스를 여러 개 설치하십시오.
이름 지정 충돌이 없도록 구성 파일의 값을 기반으로 servicename, description, displayaname을 지정합니다.
차별화해야 할 서비스는 instancename
입니다. documentation 가입일
: 는 [동사]
(210)service.exe [-option : 값 [스위치 ']
설치는 예 -instance 서비스
를 설치 서비스를 여러 번 등록하는 경우 이름
그래서 당신은 사용할 수 있습니다
service.exe install -instance:FirstInstanceOfMyService
service.exe install -instance:SecondInstanceOfMyService
당신은 설정 파일에 서비스 인스턴스 이름을 설정하는 것입니다 원하는 경우이 같은 프로그래밍 방식으로 인스턴스 이름을 설정할 수 있습니다
var instanceName = ConfigurationManager.AppSettings["Instance"];
HostFactory.Run(hostConfigurator =>
{
...
hostConfigurator.SetDisplayName("My service");
hostConfigurator.SetDescription("My service that does something");
hostConfigurator.SetServiceName("MyService");
hostConfigurator.SetInstanceName(instanceName);
}
그래서,시 가능한 경우에만 설치하십시오.
MyService.exe install
가능한 경우 로그 출력을 포함 시키십시오. 가능한 경우 로그 출력을 포함하십시오. https://groups.google.com/forum/#!forum/topshelf-discuss SO를 통해 파악하기가 어려울 것입니다. 그러나 동일한 서비스 중 두 가지를 실행할 수 있도록 "인스턴스"이름을 설정할 수 있습니다. – Travis
서비스 이름과 표시 이름이 고유합니까? 고유 한 servicenames와 두 개의 서비스를 설치하려고했지만 동일한 displayname을 사용하고 너무 효과가 없었어요. – Bomberlt