質問

いくつかの内部サービスに Windows 2008、.NET 3.5、および WCF を使用するプロジェクトに取り組んでいますが、サービスをホストする方法について疑問が生じました。

私たちは Windows 2008 を使用しているので、Windows プロセス アクティベーション サービス (WAS) を利用するのが良いのではないかと考えていましたが、プロジェクトの感覚では Windows サービスを使用した方が良いと思われます。

では、Windows サービスと比較して、WAS を使用して WCF サービスをホストすることのメリットは何でしょうか?Windows サービスを使用することに実際の利点はありますか、それとも WAS が最善の方法なのでしょうか?

役に立ちましたか?

解決

最近、私は非常に似た質問に答える必要があり、これらが Windows サービス インフラストラクチャの代わりに IIS 7.0 と WAS を使用することにした理由です。

  1. IIS 7.0 はより堅牢なホストであり、デバッグを容易にする多数の機能が付属しています。いくつか例を挙げると、失敗したリクエストの追跡、ワーカー プロセスのリサイクル、プロセスの孤立化などがあります。
  2. IIS 7.0 では、特定の状況でワーカー プロセスに何が起こるかを指定するためのオプションがさらに追加されました。
  3. IIS でサービスをホストしている場合、最初の要求が行われるまで、サービスにはワーカー プロセスが割り当てられません。これは私の観点からは望ましい動作でしたが、あなたの場合は異なるかもしれません。Windows サービスを使用すると、より決定的な方法でサービスを開始できます。
  4. 私の経験から言えば、WAS 自体は信頼性を向上させません。最大の利点は、HTTP とは異なるプロトコルを使用するアプリケーションに IIS の豊富な機能を提供できることです。異なるとは、次のことを意味します。TCP、名前付きパイプ、MSMQ。
  5. 私が知っている WAS 使用の唯一の欠点は、サービスが公開されるアドレスが何らかのパターンに準拠している必要があることです。MSMQの場合はどのように見えるかを説明します ここ
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top