0

私は wcf サービスを持っており、サービスのホストとしてコンソール アプリを使用しました。次のようなベースアドレスを使用する場合: <baseaddres ="http://ipaddress:8080/" />. Web ブラウザーでサービスの動作を確認すると、サービスの WSDL を開くことができ、正常に動作します。

しかし、ポート番号を別のものに変更すると。サービスホストは正常に起動します (使用されているポート番号やその他の例外はありません)。サービスが Web ブラウザーを介して実行されているかどうかを確認しようとすると、サービスが表示されません。最終的に、私のクライアントもサービスを見つけることができませんでした。

app.config 構成

    <services>
  <service name="Natatorium_WCF.NatatoriumService"
           behaviorConfiguration="ServiceBehavior">
    <endpoint address="NatatoriumService"
              binding="wsHttpBinding"
              contract="Natatorium_WCF.INatatoriumService"
              bindingConfiguration="wsHttpBindingConfig">
    </endpoint>
    <endpoint address="NatatoriumService"
              binding="netTcpBinding"
              contract="Natatorium_WCF.INatatoriumService"
              bindingConfiguration="netTcpBindingConfig" >
    </endpoint>
    <endpoint address="mex"
              binding="mexHttpBinding"
              contract="IMetadataExchange"/>
    <host>
      <baseAddresses>
        <add baseAddress="http://[ServerName]:[PortNO.1]"/>
        <add baseAddress="net.tcp://[ServerName]:[PortNO.2]"/>
      </baseAddresses>
    </host>
  </service>
</services>

これは、サービス (コンソール アプリケーション) を開始するためのホスト コードです。

 static void Main(string[] args)
    {
        ChangeServerConfigFileAttributeValue("8080", "8090");
        using (ServiceHost host = new ServiceHost(typeof(Natatorium_WCF.NatatoriumService)))
        {
            host.Open();
            Console.WriteLine("Listening...");
            Console.ReadLine();
        }
    }
4

1 に答える 1