Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Распределённые приложения и сеть > Не грузится базовый адрес через App.config


Автор: mur88 24.7.2013, 09:20
Базовый адрес не грузится из App.config.
Пишет :
"Служба "CourseService" не имеет конечных точек приложения (не инфраструктурных). Это может быть связано с тем, что для данного приложения не найден файл конфигурации или в файле конфигурации не удалось найти элементы службы, соответствующие данному имени службы, или конечные точки не были определены в элементе службы."

App.config
Код

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

    <services>
      <service name="123">
        <endpoint address=""
                  binding="basicHttpBinding"
                  contract="IRequestCourseService" />
        <endpoint address="mex"
                  binding="mexHttpBinding"
                  contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8080/RequestCourse" />
          </baseAddresses>
        </host>
      </service>
    </services>

    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="true"  />
          <serviceDebug includeExceptionDetailInFaults="True" />
        </behavior>
      </serviceBehaviors>
    </behaviors>

  </system.serviceModel>
</configuration>


Код хоста
Код

using (var host = new ServiceHost(typeof(RequestCourseService.RequestCourseService)))
            {
                host.Open(); // Вот тут падает.
                Console.WriteLine("Служба доступна по {0}", host.BaseAddresses[0]); // host.BaseAddresses.Count == 0
                Console.ReadLine();
                host.Close();
            }


Всё работает, если адрес задать явно в коде
Код

var baseAddressHttp = new Uri("http://localhost:8080/RequestCourse"); 
using (var host = new ServiceHost(typeof(RequestCourseService.RequestCourseService), baseAddressHttp))            
            {
                host.Open();
                Console.WriteLine("Служба доступна по {0}", host.BaseAddresses[0]);
                Console.ReadLine();
                host.Close();
            }



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)