Вы должны убедиться, что у вас есть адрес для хоста службы, например,
<services>
<service name="SomeLib.SomeService">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/somebase"/>
</baseAddresses>
</host>
<!-- And one EndPoint **basicHttpBinding** WILL WORK !!! -->
<endpoint
address="basic"
binding="basicHttpBinding"
contract="SomeLib.SomeContract"/>
</service>
</services>
Итак, теперь, если вы используете хостинг через консольное приложение, например, для ... вы можете вызвать хост через:
WebChannelFactory<IServiceContract> factory =
new WebChannelFactory<IServiceContract>(
new Uri("http://localhost:8080/somebase"));
Когда консольное приложение запускается, адрес будет доступен для просмотра, даже если он размещен самостоятельно, и вы сможете вызывать свои действия на основе шаблонов URI веб-приложения.
Этот минимальный конфиг позволит вам вызывать WCF RestFULLY через самохостинг. Если вы размещаете хостинг в IIS, он, по сути, будет работать аналогично, за исключением того, что файл svc заменяет наш пользовательский хост.