2

サービス内のタイマーの Elapsed イベントにさらに伝達する必要があるサービスの OnStart メソッドに引数をプログラムで渡すにはどうすればよいですか?

4

2 に答える 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 に答える