Базовый адрес не грузится из 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(); }
|
|