Webサービス要求を処理できるC#EXEまたはWindowsサービスを作成することは可能ですか?明らかに、ある種の埋め込まれた、おそらく制限されたWebサーバーは、EXE /サービスの一部である必要があります。 EXE /サービスは、インストールされているIISに依存する必要はありません。できれば、組み込みWebサービスでHTTPS/SSLタイプの接続を処理できます。
シナリオは次のとおりです。顧客は、企業のマシンに小さなエージェント(Windowsサービス)をインストールしたいと考えています。エージェントには2つの主要なタスクがあります。1)時間の経過とともにシステムを監視し、特定のデータを収集します。2)Webサービス要求に応答します(SOAP -v- RESTはまだ悩まされています))データ収集またはシステム変更の目的で。顧客は、企業のマシンで実行されているさまざまなエージェントを利用するために、任意の数のクライアント(任意の言語)を記述できるWebサービスAPIのアイデアを気に入っています。 IISをインストールして構成する必要なしに、痛みを伴わずに(.NET、一部のアセンブリ、サービスをインストールし、Windowsファイアウォールを変更し、サービスを開始します)。
私はDelphiでこれを行うことができることを知っています。ただし、可能であれば、顧客はこれをC#で実行することを希望します。
助言がありますか?
はい、可能です。 [〜#〜] wcf [〜#〜] および セルフホスティング を確認することをお勧めします。
はい、それは可能です(そしてかなり簡単です)。
これが CodeProjectの記事 C#で基本的なHTTPサーバーを作成する方法を示しています。これは、スタンドアロンのEXEまたはサービスに簡単に配置して、Webサービスとして使用できます。
チェックアウトしたいテクノロジーの1つがWCFです。 WCFに入るのは少し面倒かもしれませんが、キースエルダーによるDNRTVには、非常に簡単な方法でWCFを使い始める方法を示すすばらしいスクリーンキャストがあります。
確かに、あなたはそれを行うことができます。プロジェクトの出力タイプを必ずコンソールアプリケーションに変更してください。次に、Main関数でstring []パラメーターを追加します。コマンドラインで受け取ったスイッチから、ServiceBase.Runに分岐してWindowsサービスとして実行したり、他のコードに分岐してコンソールアプリケーションを実行したりできます。
.Netフレームワークの HttpListener を見ることができます。
WCFを強くお勧めします。あなたが説明しているような製品に非常によく適合します。かなりの数の 本 が利用可能です。