あなた (または誰か) が Sebastian Sedlak の回答に反対票を投じたようです。なぜなら、彼は Windows サービスで WCF サービスをホストすることに言及したからです。あなたの返事は
It's in nice bold lettering in the question. Not a Web Service, therefor WCF is out of the question
あなたは彼の意味を誤解していると思います。彼はWeb サービスについて話していませんでした。彼は、Windows Service内でWCF Service をホストすることについて話していました。
同じことにはほど遠い。任意の Windows (フォーム/コンソール/サービス) アプリケーション内で WCF サービスをホストできます。そうすることのポイントは、Web サービスと通信できるのと同じ方法で、内部 WCF サービスを介して通信のためにアプリケーションに到達できることです ( IIS で WCF サービスをホストすることもできます。あなたが言及しているように見える意味での「Webサービス」)。
Windows サービスでは、実行中にコマンドを送信したり、必要な情報を取得したりできることを意味します。
実際、私は現在、実行時に連絡してコマンドを渡し、情報を取得する必要がある Windows サービスであるプロジェクトに取り組んでいます。たとえば、特定のものをどこに保存するか、何をログに記録するか、リセット/再起動するか、ステータスメッセージをポーリングするかを指定できるようにしたいと考えています。これを行うには、Windows サービス内で WCF サービスをホストします。その WCF サービスは一連のメソッドを公開します。私の場合は、コマンドを受信してステータス情報を返すことが含まれます。そのため、 Windows サービスが実行されているときは、組み込みのWCF サービスを介して (リモートでも) 接続して、何をすべきかを伝えることができます。
これは非常に簡単に実装でき、Windows サービスの場合、基本的な標準コマンドを使用するよりもはるかに豊富なインターフェイスをサービスに提供できます。
ただし、Windows サービスが起動するたびにフォルダー設定を受け取るように指定したため、このような受動的な設定は理想的ではありません (適切なフォルダーを渡すまで何もできないため)。
これに対処する 1 つの方法 (ホストされた WCF サービスを使用) は、Windows サービスを常に実行することです (つまり、自動スタートアップ)。デフォルトの状態はアイドルです。次に、「処理の開始」コマンドを発行して、作業する正しいフォルダーを (対応する WCF サービス メソッドの呼び出しを通じて) 供給することができます。同様に、WCF サービスは、アプリケーションのステータス (現在のフォルダー、進行状況、ビジー/アイドルなど) を提供するメソッドを公開します。処理が完了すると、アイドル状態に戻り、次の一連のフォルダーが提供されるのを待ちます。
このようにすると、リモートでの制御が非常に簡単になります。どこからでもアクセスできるオンライン管理パネルを作成することもできます。