На самом простом уровне: когда вы вызываете ServiceBase.Run
, вы можете передать ему экземпляры службы для выполнения. Просто объявите это как общедоступную собственность в вашем сервисе и назначьте до вызова Run
:
Service1 myService = new Service1();
myService.SomeProp = 1;
ServiceBase.Run(myService);
Тогда прочитайте SomeProp
в вашем сервисе:
public int SomeProp { get; set;}
protected override void OnStart(string[] args)
{
int prop = SomeProp;
}
Вы также можете использовать служебные аргументы, но это от внешнего абонента (регистрация службы) - не программно (по вопросу).