1

私の質問は、方法よりも可能性についてです。現在、2 つのカスタム Windows サービスがあります。1 つは TCP を使用してネットワーク経由でクライアントからホストにファイルを送信し、もう 1 つはそれらのファイルを受信し、転送が完了すると、データベースへのファイルのアップロードを開始する C# アプリケーションを起動します (両方のサービスより多くのことを行いますが、それが彼らが行うことの基本的な考え方です)。私の質問は、ユーザーがログインしていなくても、ホスト (サーバー) で実行されているサービスで C# アプリケーションを起動してアップロードすることは可能ですか? それとも、そのアプリケーションもサービスに変える必要がありますか?

4

1 に答える 1

3

ユーザーがログインしていなくても、ホスト (サーバー) で実行されているサービスが C# アプリケーションを起動してアップロードすることは可能ですか?

これが Windows サービスの要点です。誰もログインしなくても実行されます。

はい、他のプロセスを起動できます。これは通常、Processクラスを介して行われます。

Process.Start("path to application", "command line arguments");

返された参照を使用しProcessて後で終了し (自己終了でない場合)、サーバーがその参照の複数のコピーを実行してメモリ不足にならないようにすることができます。

于 2012-05-15T15:06:43.667 に答える