2017-08-02 19 views
0

WindowsサービスでHTTP WCFServiceをホストしていますが、ローカルネットワークでは完全に動作しますが、クライアントが別のネットワークにあり、パブリックIPで接続しようとすると機能しません。WindowsサービスでのホストHTTP WCFサービス

設定ファイル:

<add baseAddress="http://localhost:80/WCFService/service/" /> 

それが原因locahostの使用にループバックアドレスでリスニングすることになります。

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 

    <appSettings> 
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" /> 
    </appSettings> 
    <system.web> 
    <compilation debug="true" /> 
    </system.web> 
    <!-- When deploying the service library project, the content of the config    
    file must be added to the host's 
    app.config file. System.Configuration does not support config files for   
    libraries. --> 
    <system.serviceModel> 
    <services> 
     <service name="WCFService.ServiceBehavior"> 
     <endpoint address="" binding="wsHttpBinding"  
      contract="WCFService.ServiceContract"> 
      <identity> 
      <dns value="localhost" /> 
      </identity> 
     </endpoint> 
     <endpoint address="mex" binding="mexHttpBinding" 
     contract="IMetadataExchange" /> 
    <host> 
     <baseAddresses> 
     <add baseAddress="http://localhost:80/WCFService/service/" /> 
     </baseAddresses> 
    </host> 
    </service> 
</services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior> 
      <!-- To avoid disclosing metadata information, 
      set the values below to false before deployment --> 
      <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True"/> 
     <serviceDebug includeExceptionDetailInFaults="False" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
    </system.serviceModel> 

</configuration> 
+0

おそらくファイアウォールですか? – FakeCaleb

+0

サーバー部分のweb.configが表示されています。クライアントのweb.configを表示します。 – Piotr

+0

可能重複https://stackoverflow.com/questions/7505126/how-to-set-up-my-wcf-service-to-be-able-to-be-accessed-by-remote-clients – Dmitry

答えて

0

私はあなたがこのような設定を与えるときと思われます。これを実際のパブリックIPアドレス(127.0.0.1ではなく)またはサーバー名に変更し、もう一度チェックしてください。

関連する問題