web-dev-qa-db-ja.com

WCFサービスアプリケーションとWCFサービスライブラリの違いは何ですか?

WCF Webサービスを開発しており、WCFサービスアプリケーションテンプレートを使用してこれを実行しました。

「WCFサービスアプリケーション」の作成はこの要件を満たしていますか? WCFサービスアプリケーションよりもWCFサービスライブラリを作成する利点は何ですか?

118
Ashish Ashu

サービスアプリケーションには、既にセットアップされたWebサイトホストが含まれます。サービスライブラリは、ホストが参照および起動できるサービスのライブラリです。

サービスライブラリ(推奨)から開始する場合、任意のホスト(Windowsサービス、IIS/ASP.NET、またはコンソールアプリケーション)を選択でき、新しいホストからライブラリを参照するだけです。サービスアプリケーションを選択すると、ホストがIIS/ASP.NETのみに制限されます(ただし、これは目的には問題ないかもしれませんが、使用できるプロトコルが制限されます)。

編集:IISの変更により、ASP.NETでアクティブ化されたサービスでさまざまなプロトコルを使用できるようになったため、サービスアプリケーションの選択は以前ほど制限されなくなりました。 。

148
Anderson Imes

あなたが持っているすべてが1つのプロジェクトである場合、私はあなたがそれのために分離した場合にのみ追加された複雑さを見る。 WindowsサービスとIISの両方でホストする必要がある特定のユースケースがあったときに、ライブラリを使用しました。

IISの場合、クラスとインターフェイスをライブラリに移動できますが、.SVCファイルをWebプロジェクトに保持できます。適切に修飾されたクラスを指すように.SVCファイルを編集する必要があります。

10
Gary