2009-02-25 63 views

回答

2

在最简单的层面上:当你打电话给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; 
    } 

您也可以使用该服务ARGS,但毕竟是从外部调用者(服务注册) - 不是编程(每个问题)。

0

您可以考虑使用OnStart方法读取配置文件中的参数,并使用单独的应用程序以编程方式更新该参数。