サービス内のタイマーの Elapsed イベントにさらに伝達する必要があるサービスの OnStart メソッドに引数をプログラムで渡すにはどうすればよいですか?
4249 次
2 に答える
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;
}
サービス引数を使用することもできますが、それは外部呼び出し元 (サービス登録) からのものであり、プログラムではありません (質問による)。
于 2009-02-25T06:56:59.403 に答える
0
OnStart メソッドで構成ファイルから引数を読み取り、別のアプリケーションを使用してプログラムで更新することを検討できます。
于 2009-02-25T06:53:58.507 に答える