2009-04-07 18 views
2

約10万のクライアントにサービスを提供できるWebサービスを作成する必要があります。私はかなりの時間Windowsサービスを作成しており、WCFバインディングを使用しています。 WindowsサービスはHTTPバインディングを使用し、SOAPを使用して通話できる任意のクライアントが使用できるHTTPエンドポイントを提供します。 ASP.NET WebサービスまたはWindowsサービスを作成する必要があるかどうかは、どちらもHTTPエンドポイントを提供するため、少し混乱します。 WCFが登場する前に、HTTPバインディングを楽しむためにWebサービスが使用され、Windowsサービスがリモーティングなどで使用されたと思います。.NET 3.5を使用して作成するものWebサービスまたはWindowsサービス

両方とも同じHTTPエンドポイントを提供する場合、サービスタイプを決定する基準は何ですか?

答えて

2

すべての回答を組み合わせる必要があります。

WCFサービスは、WindowsサービスとIISの両方でホストすることができます。 IISには、多数の要求を拡張して処理するためのツールが多数用意されています。あなたはWebをターゲットにしており、IISを利用可能にしてIISを使用しているからです。

JPの回答には、IISでWCFをホストする方法についてlinkが含まれています。これは、sipwizの回答の質問をクリアするはずです。

したがって、ASP.NET Webアプリケーションを作成してください。 WCFサービスを作成する(またはWCFサービスライブラリプロジェクトをソリューションに追加してASP.NET Webアプリケーションで参照する)

0

あなたがやっていることの規模を考えれば、WCFを守ることができます。さまざまなプロトコルや、組み込みのロギングなどの他のフレームワーク機能を簡単に設定することができます。

asmxサービスを使用する利点の1つは、Webサイトプロジェクトに簡単に統合できることです。共有ホスティングを使用している小規模なサイトでは、WCFサービスを実行できない場合がありますが、asmxサービスを実行できます。

+0

asmxサービスの作成には、WebプロジェクトやWCFサービス私はWindowsサービスを作成していますが、IIS上でホストされているサービスを作成したり、Windowsサービスを作成するとdiffを作成できますか? 自分自身を混乱させますか? – A9S6

+0

Windowsサービスではなく、sipwiz、jp、およびGidonが提案しているようにIISを使用することを絶対にお勧めします。 "hosted"という単語は異なる意味を持ちます。私が言ったとき、 "共有ホスティング"私はサードパーティのホスティングサービスを指していました。これは、asmxがより広くサポートされているという一般的な点です。 –

0

スケーラビリティについては、ここで決定する必要があります。たとえば、Webファームを使用してシステムをスケールアップする必要がある場合はどうなりますか? Winサービスのシナリオはどのような状況に適していますか?

2

100kクライアントに対応する大量のアプリケーションを構築する場合は、IISを選択する必要があります。 IISには、認証やSSL証明書などのエンタープライズ機能とともに、高負荷を処理するための多くの機能が組み込まれています。 Windowsサービスを使用している場合は、自分自身で多くのことを行うことができます。

あなたはどちらのアプリケーションタイプでもWCFを使用することができます。したがって、どちらのアプリケーションタイプが優れており、IISのように聞こえますか?

+0

OK! VS2008では、Web上に「ASP.NET Web Service Application」と「WCF Service Application」が表示されます。 WCFの下には、私を混乱させるWCFサービスライブラリがあります。私は必要なのは "ASP.NET Web Service Application"プロジェクトだと思います... – A9S6

+0

Gidonが答えを投稿しました。 ASP.NetアプリケーションとASPアプリケーションから使用する別のWCFライブラリプロジェクトが必要です。 – sipwiz

2

サービスの存続期間とWCFサービスとASP.NETサービスのエンドポイントは2種類あります。 Here is a decent articleは、WCF & ASP.NETサービスの違いについて説明しています。エンドポイントがホストされている場所は、高いスケーラビリティを求めているので重要です。エンドポイントをホストするためのスケーラビリティと信頼性の点で、IIS7に組み込まれているすばらしいものをすべて活用する必要があります。あなた自身のプロセスでそれをホストする正当な理由はありません。 IIS7ほど簡単に水平に拡張できるものを開発するには、多くの作業が必要です。 IISでWCFサービスをホストする方法については、a small articleです。

+0

+1最初の記事は除外することができますが。それは少し混乱しているので。これは、ASP.NET WebサービスとWCFを示しています... IISベースのWCFとWindowsサービスベースのWCFの違いを示す記事を表示する方が良いでしょう。 – Gidon

関連する問題