Решение было добавить конечную точку моей службы:
Uri baseAddress = new Uri("http://localhost:51160");
WSDualHttpBinding binding = new WSDualHttpBinding();
using (ServiceHost host = new ServiceHost(typeof(FileServer), baseAddress))
{
host.AddServiceEndpoint(typeof(IFileServer), binding, "http://localhost:51160/FileServer");
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
host.Description.Behaviors.Add(smb);
host.Open();
Console.ReadLine();
host.Close();
}
И то же самое на стороне сервера (в конфигурации)
<services>
<service name="AK3_Server.FileServer" behaviorConfiguration="FileServerBehavior">
<endpoint address="http://localhost:51160/FileServer" binding="wsDualHttpBinding"
bindingConfiguration="" contract="AK3_Server.IFileServer" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="FileServerBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
Какую ошибку вы получаете? Если это проблема с разрешениями, убедитесь, что вы запустили ее с правами администратора. Если вы отлаживаете свое приложение из Visual Studio, вам нужно специально запустить среду IDE в качестве администратора. – oleksii
Контракт требует дуплекса, но привязка «basicHttpBinding» не поддерживает его – 2013-04-07 18:46:38
Похоже, [2630 результатов поиска] (https://www.google.co.uk/search?q=Contract+requires+duplex+but+binding+ «basicHttpBinding» + не поддерживает + его) для этой ошибки, вы посмотрели на них? – oleksii