1

このマニュアルに従って開発したマネージド Windows サービスでホストされている WCF サービスがあります。App.config で、次のように指定しました。

 <service name="Inpas.Unipos.LicenseManager.SamService.Service"
           behaviorConfiguration="SamServiceBehavior">
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost:8000/SamService/service"/>
      </baseAddresses>
    </host>
    <endpoint address=""
              binding="wsHttpBinding"
              contract="Inpas.Unipos.LicenseManager.SamService.IService" />
    <endpoint address="mex"
              binding="mexHttpBinding"
              contract="IMetadataExchange" />
  </service>

クライアントでは、次の方法でサービスに接続します。

public void ConnectToService(string host, string port)
{
    var binding = new WSHttpBinding();
    var endpoint = new EndpointAddress(string.Format("http://{0}:{1}/SamService/service", host, port));
    var channelFactory = new ChannelFactory<IService>(binding, endpoint);
    _client = channelFactory.CreateChannel();
    _client.Get2X2();
}

ローカル マシンでは正常に動作しますが、別のマシンからサービスに接続しようとすると、例外が発生します。

EndpointNotFoundException メッセージ: http://10.xx.xx.xx:8000/SamService/serviceで、メッセージを受け入れることができるリッスンしているエンドポイントがありませんでした。これは、多くの場合、アドレスまたは SOAP アクションが正しくないことが原因です。

私は何を間違っていますか?

4

1 に答える 1