У меня есть следующий файл конфигурации для службы WCF.В конфиге определен хост.Тем не менее, когда я печатаю адрес службы от клиента, он не знает о хосте.Результат печати:
http://localhost:3187/Service1.svc/MyFolder
Почему не учитывается имя хоста?Какую модификацию нам нужно для этого сделать?
Примечание. Я работаю с VS 2010 для запуска веб-сайта службы и клиента.
Service1Client myClientService = new Service1Client();
Response.Write(myClientService.Endpoint.Address);
Конфигурация клиента (создается автоматически Visual Studio)
<client>
<endpoint address="http://localhost:3187/Service1.svc/MyFolder"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IService1"
contract="MyWCFReference.IService1" name="WSHttpBinding_IService1">
<identity>
<userPrincipalName value="U16990@ustr.com" />
</identity>
</endpoint>
</client>
Конфигурация на стороне сервера:
<services>
<!--MyService-->
<service name="MyWCFServiceApplication.MyService"
behaviorConfiguration="WeatherServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:80/ServiceModelSamples/FreeServiceWorld"/>
</baseAddresses>
</host>
<endpoint address="MyFolder"
binding="wsHttpBinding"
contract="MyWCFServiceApplication.IService1" />
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="WeatherServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="False"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />