2011-06-30 14 views
4

私はWCFを完全に新しくしていますので、私がここで間違っていることを見つけたら教えてください。私はbasicHttpBindingに設定されたエンドポイントアドレスバインディングを持つWCFサービスプロジェクトを作成しました(私のサービスクラスはServiceBaseクラスから除外されています)。今私はこのサービスからいくつかのAPIを呼び出すことができるクライアントアプリケーションを作成する必要があります。私の質問は、クライアントアプリケーションで、そのサービスにサービス参照を追加する方法です。私はIISでこのサービスを公開する必要がありますか(つまり、IISをマシンで使用できるようにする必要があります)、またはサービス参照を追加するための他の方法もあります。クライアントプロジェクトにサービス参照を追加する方法は?

+0

通常、wcfプロジェクトではデバッグを実行でき、cassiniサーバーを起動してサービス参照を生成します。 iis expressを使用することもできます。または共有DLLを使用して、サービス参照を生成する代わりにChannelFactory を使用するだけでもかまいません。 –

答えて

5

あなたは、メタデータが公開されていると、サービスを実行するために何かを必要としています。これはIISでもかまいませんが、いずれでもother valid hosting optionです。

私はしばしば、単純なコンソールアプリケーションを書いてWCFサービスを自己ホストすることがよくあります。これにより、デバッグが容易になり、開発の初期段階でサービス参照を更新できるようになり、クライアントとサーバーで同時に作業するときの作業が大幅に簡素化されます。

2

IISの下に公開する必要はありません.WCFを使用すると、コンソールアプリケーションまたはWindowsフォームアプリケーションまたはWindowsサービスまたはIISとしてサービスをホストできます。

クライアントアプリケーションでは、右クリックしてサービス参照を追加するだけです。

更新:
Simple WCF Example

+0

右クリックしてサービス参照を追加すると、このダイアログが表示され、「アドレス」を入力するよう求められます。その住所をどうやって提供するのですか?まずサービスを実行する必要がありますか? –

+0

@Silverlight学生:はい。サービスが実行されている必要があり、メタデータエンドポイントが公開されている必要があります。あなたはそれのアドレスを入力します。アドレスのサービスのapp.config/etcを見てください。 –

+0

@Silverlight Student:上記のReedのように、まずサービスをホストし、コンソールアプリケーションでホストしてみる必要があります。非常に簡単。 – Jethro

2

通常は、最終的な場所にIISの下にWCFサービスをホストします(URLを決定することができるため)。ただし、Visual Studioから直接実行してからクライアントで直接実行することもできます。 Visual Studioの場合は、「参照」を右クリックして「サービス参照の追加」を選択し、WCFサービスが実行されている場所を指すようにします。

アプリケーションは、WSDLの外にWCFクライアントを構築します。

app.config内のサービスのURLも設定するので、最終プロダクションURLでサービスをホストしていない場合は、クライアントを移動するときにそのURLを変更する必要があります生産に

あなたの質問にもっと直接答えてください。はい、クライアントアプリケーションから「サービス参照の追加」を実行すると、サービスが実行されているはずです。

関連する問題