Конфигурация конечных точек WCF - PullRequest
1 голос
/ 05 апреля 2011

Прохождение учебника «Что нового в WCF4.0». Первое упражнение - настроить сервис без каких-либо настроек. Затем вы вводите некоторую конфигурацию для предоставления метаданных службы. Простые вещи.

То, что я сейчас попытался сделать, - это расширить конфигурацию, чтобы выставить тот же контракт на обслуживание на другом порту - в данном случае http://localhost:9001/test

Это мой конфиг ...

<system.serviceModel>
    <behaviors>
        <serviceBehaviors>
            <behavior name="WCF4Configuration.EchoServiceBehavior">
                <serviceMetadata httpGetEnabled="true" />
                <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
    <services>
        <service behaviorConfiguration="WCF4Configuration.EchoServiceBehavior" name="WCF4Configuration.EchoService">
            <endpoint address="" binding="wsHttpBinding" contract="WCF4Configuration.IEchoService">
                <identity>
                    <dns value="localhost" />
                </identity>
            </endpoint>                              
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
          <endpoint address="http://localhost:9001/test" binding="wsHttpBinding" contract="WCF4Configuration.IEchoService"/>
        </service>
    </services>
</system.serviceModel>

Однако я пытаюсь подключиться к этому, я получаю сообщение, что машина активно отказала в соединении. Почему это не работает? И какой адрес я могу использовать в wcftestclient, чтобы показать сервис?

1 Ответ

0 голосов
/ 06 апреля 2011

Попробуйте:

<services>
        <service behaviorConfiguration="WCF4Configuration.EchoServiceBehavior" name="WCF4Configuration.EchoService">
            <endpoint address="" binding="wsHttpBinding" contract="WCF4Configuration.IEchoService">
                <identity>
                    <dns value="localhost" />
                </identity>
            </endpoint>                              
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
          <endpoint address="" binding="wsHttpBinding" contract="WCF4Configuration.IEchoService">
           <host>
            <baseAddresses>
              <add baseAddress="http://localhost:9001/test/" />
            </baseAddresses> 
          </endpoint>
        </service>
</services>
...