22

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# で行うことを望んでいます。

助言がありますか?

4

7 に答える 7

15

はい、可能です。 WCFSelf Hostingをご覧になることをお勧めします。

于 2009-06-18T17:09:43.803 に答える
5

はい、可能です (かなり簡単です)。

これは、C# で基本的な HTTP サーバーを作成する方法を示すCodeProject の記事です。これは、スタンドアロンの EXE またはサービスに簡単に配置でき、Web サービスとして使用できます。

于 2009-06-18T17:02:15.000 に答える
3

確認したいテクノロジの 1 つに WCF があります。WCF を使用するのは少し面倒ですが、Keith Elder による DNRTV の素晴らしいスクリーンキャストがあり、非常に簡単な方法で WCF を使い始める方法を示しています。

http://www.dnrtv.com/default.aspx?showNum=135

于 2009-06-18T17:07:11.593 に答える
1

確かに、あなたはそれを行うことができます。プロジェクトの出力タイプを必ずコンソール アプリケーションに変更してください。次に、Main 関数に string[] パラメータを追加します。コマンド ラインで受け取ったスイッチから、ServiceBase.Run に分岐して Windows サービスとして実行したり、他のコードに分岐してコンソール アプリケーションを実行したりできます。

于 2009-06-18T17:40:32.937 に答える
1

.Net フレームワークのHttpListenerを見ることができます。

于 2009-06-18T17:12:56.047 に答える
1

WCFを強くお勧めします。あなたが説明しているような製品に非常によく合います。かなりの数のが用意されています。

于 2009-06-18T17:13:16.810 に答える