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


118

私はWCF Webサービスを開発しており、そのためにWCFサービスアプリケーションテンプレートを使用しました。

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

回答:


148

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

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

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


1
IISでホストしているときに利用できる新しいプロトコル/バインディングに関する情報を持っている人はいますか?
アレンライス

@AndersonImes私はこれが古い記事であることを知っていますが、あなたが助けてくれることを願っています。私は至る所を探していましたが、WCFサービスが.NET 3.5のWebサービスを置き換えることを意図しているかどうか、そしてなぜ.NET 4でテンプレートが削除されたのかわかりませんか?ありがとう。:)
ちらみす2012

2
@Chiramisu WCFは、さらに多くの利点と柔軟性を提供します...これらは非常に役に立ちました:Codeprojectの例Stackoverflowの質問
StoriKnow

@Samありがとう、Sam、とても参考になりました。それで、基本的にWCFはWebサービスができるすべてのことを実行できますか?どんな制限があるのだろう... :)
ちらみす2012

1
@Chiramisu助けてくれてうれしい!制限は常にありますが、WCFの制限は一般的なWebサービスよりもはるかに少ないと思います。
StoriKnow 2012

10

あなたが持っているものがすべて1つのプロジェクトである場合、全体を分離すると、複雑さが増すだけです。WindowsサービスとIISの両方でホストする必要がある特定の使用例があるときに、ライブラリを使用しました。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.