Там не было ни одного канала, активно слушающего - PullRequest
1 голос
/ 30 марта 2012

может быть, вы можете помочь мне настроить мою службу WCF.

Во-первых, вот мой конфигурационный файл:

<system.serviceModel>
  <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

  <bindings />
<services>
  <service name="AuthenticatorService.Authenticator">
    <endpoint address="auth" binding="basicHttpBinding" bindingConfiguration=""
      name="AuthEndpoint" contract="AuthInterface.IAuthenticator" />
    <endpoint address="mex" binding="mexHttpBinding" name="MetadataEndpoint"
      contract="IMetadataExchange" />
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior>
      <serviceMetadata httpGetEnabled="True" />
      <serviceDebug includeExceptionDetailInFaults="True" />
    </behavior>
  </serviceBehaviors>
</behaviors>

И вот как я называю мойслужба из c #:

        //This creates a link to the WCF service using basicHttpBingind
        httpFactory = new ChannelFactory<IAuthenticator>(new BasicHttpBinding(), new EndpointAddress("http://myUrl/auth.svc"));

        httpProxy = httpFactory.CreateChannel();

Когда я делал это на локальном хосте, все работало нормально, но теперь мне постоянно сообщают, что конечная точка не найдена.

Также сервер выдал следующую ошибку:1013 *

System.ServiceModel.EndpointNotFoundException: не было активно канала, прослушивающего в 'http://myURL/auth.svc/$metadata'. Это часто вызывается неверным адресом URI.Убедитесь, что адрес, на который отправляется сообщение, совпадает с адресом, на котором служба прослушивает.

Я действительно сбит с толку, я понятия не имею, почему это происходит.Нужно ли создавать еще один служебный файл для обмена метаданными?

Нужно ли устанавливать baseAddress?

Спасибо

1 Ответ

0 голосов
/ 30 марта 2012

Как вы развернули сервис?Я предполагаю, что служба работает в IIS на вашем компьютере - вы пытались нажать URL службы (http://myUrl/auth.svc) в браузере, чтобы увидеть, действительно ли он работает?

...