0

自動的に起動してA-okayを実行する非常に単純なWindowsサービスをC#で作成しました。サービスにコマンドライン入力を受け入れさせる最善の方法を考えていました。これは常に同じユーザー(admin)からのものであり、サービス自体は完全に信頼されています(LocalSystem)。

デザインパターンの用語については少し(ほとんど)知っていますが、この単純なサービスをインタープリタースタイルのパターンでラップすることを検討する必要がありますか?これは複雑すぎますか?プログラムのエントリポイントを介してそれを行う方法はありますか?(string [] argsを取ることができる単純なコンソールアプリを実行しているかのように?)

基本的に、コンソールを介していつでも発行できる非常に特定の文法(特定のコマンド)を受け入れ、それらの特定のコマンドのみを受け入れる必要があります(さまざまなセキュリティ問題のいずれかを回避できることを願っています)。

これについて説明が必要な場合は、私に知らせてください。提案(または解決策)に感謝します。

4

3 に答える 3

1

あなたが説明したことから、これはあなたが探しているものです:

.NETを使用して無人Windowsサービスを作成して通信します

OnCustomCommandイベントを使用すると、アプリケーションは整数値を渡すことにより、実行中のサービスと対話できます。

..。

サービスが開始したら、ServiceControllerのExecuteCommandメソッドを使用して整数コマンドをサービスに送信します。

于 2009-10-22T18:44:32.833 に答える
1

これを行うには、コンソールアプリケーションで構成ファイルを変更します。この構成ファイルは、フォルダーの変更を監視することで、サービスが確認する必要があります。

于 2009-10-22T18:40:25.817 に答える
1

代わりに、プロジェクトにApp.Configファイルを追加できます。Windowsサービスは、yourapp.exe.configと同じフォルダーにあるapp.configにアクセスできます。

.netでの構成は、文法とカスタマイズの利点の観点から高度に編成されています。

App.configを使用しても、インストール設定を変更する必要はありません。

于 2009-10-22T18:42:37.670 に答える