2012-02-08 8 views
1

私はだから私のソリューションは4つのプロジェクトスケーラブルWCFソリューション

Contact.ServiceClientには実際にサービスを呼び出すApp.configとProgram.csがあります。

App.configを

<configuration> 
    <appSettings> 
    <add key="PersonServiceActiveEndpoint" value="PersonServiceBasicHttpBinding" /> 
    </appSettings>  
    <system.serviceModel> 
    <client> 
     <endpoint name="PersonServiceBasicHttpBinding" 
       address="http://localhost:1031/Person.svc" 
       binding="basicHttpBinding" 
       contract="Contact.Service.IPersonService" /> 
    </client> 
    </system.serviceModel> 
</configuration> 

Program.csの

BasicHttpBinding basicHttpBinding = new BasicHttpBinding(); 
      EndpointAddress endpointAddress = new EndpointAddress("http://localhost:1031/Person.svc"); 
      IPersonService personService = new ChannelFactory<IPersonService>(basicHttpBinding, endpointAddress).CreateChannel(); 

      Person person = personService.GetPersonData("F488D20B-FC27-4631-9FB9-83AF616AB5A6"); 
      Console.WriteLine(person.FirstName); 

私は、この例の例外がスローされる実行してみた場合:

http://localhost:1031/Person.svcその時に聞いて何のエンドポイントがありませんでしたメッセージを受け入れることができます。これは、しばしば不正なアドレスまたはSOAPアクションによって引き起こされます。

P.S. Person.svcは私のContact.ServiceHostプロジェクトにあります

<%@ ServiceHost Service="Contact.Service.PersonService" %> 

答えて

0

サービスホストの設定は何ですか?

  • サービスホストは同じポートでリッスンするように設定されていません。
  • ホストアプリケーションは、私は、サービスホストプロジェクトのweb.configファイルをチェックすることによって、あなたはおそらく、それはどちらか別のポートをリッスンし、またはされていないことを見つけることを想像して、すべての

で実行されていませんまったく動いていないので、聞いていません。

Visual Studioホストが起動し、サービスをホストしていますか?時計の隣にある通知領域には、通常、ホストが実行中であることを示す「トースト」ポップアップウィンドウが表示され、実行中のポートを確認できます。これが起こっていない場合は、クライアントと同様にホストプロジェクトを開始するように設定する必要があります。あなたがする必要があると同時に開始するように、クライアントとサーバーの両方を有効にするには

  • を右クリックし、ソリューションファイルに、そしてセットスタートアッププロジェクト]を選択します...
  • 複数のスタートアッププロジェクトを選択します。クライアントとサーバープロジェクトでは[開始]を選択し、それ以外の場合は[なし]に設定します。
+0

私は複数のスタートアッププロジェクトを設定しており、運がない。 ポップアップウィンドウで「クラスライブラリの出力タイプのプロジェクトを直接起動することはできません」というエラーが表示されます。 もう1つ、私はPersonを変更しました。svcと今は工場を使用しています<%@ ServiceHost Service = "Person.Service.PersonService" Factory = "Person.Service.PersonServiceFactory"%>そして、あなたは正しいですか、wcfサービスは起動していません、タスクバーのポップアップ情報メッセージ – user1084557

+0

何servicehostプロジェクトのタイプですか?クラスライブラリであってはなりません。あなたの問題のようです。 –

+0

Contact.Serviceプロジェクトを変更しましたが、実際に削除して再度作成しました(dataclasslibraryは今WCFサービスライブラリを選択しています)。私はポップウィンドウに情報があります:使用法:WCFSVCHOST.exe/service: user1084557

関連する問題