Первая и самая главная проблема, которую я вижу в вашем конфигурационном файле, связана с настройкой конечных точек.
<endpoint address="" binding="webHttpBinding" bindingConfiguration="default"
contract="IWW.MIGTurbo2.WCF.Security.ISecurityBroker"
behaviorConfiguration="webHttpEnablingBehaviour">
</endpoint>
<!-- This is for WinForms clients, but isn't working -->
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="default"
contract="IWW.MIGTurbo2.WCF.Security.ISecurityBroker"
behaviorConfiguration="webHttpEnablingBehaviour">
</endpoint>
Здесь мы не указываем какой-либо адрес и listenuri в теге. Таким образом, у нас будут значения по умолчанию для них, а также для 2 конечных точек у нас будет тот же адрес и тот же прослушиватель (то есть значения по умолчанию).
Итак, возникает проблема.
1. у нас не может быть разных типов привязки с одинаковым listenuri и одинаковым адресом. Но в вашем случае, когда вы указываете пустые значения для адреса, обе конечные точки будут иметь одинаковые значения
Разрешение:
1. укажите разные адреса для обеих конечных точек вместо того, чтобы оставлять их пустыми.
<endpoint address="Rest" binding="webHttpBinding" bindingConfiguration="default"
contract="IWW.MIGTurbo2.WCF.Security.ISecurityBroker"
behaviorConfiguration="webHttpEnablingBehaviour">
</endpoint>
<!-- This is for WinForms clients, but isn't working -->
<endpoint address="WebForm" binding="basicHttpBinding" bindingConfiguration="default"
contract="IWW.MIGTurbo2.WCF.Security.ISecurityBroker"
behaviorConfiguration="webHttpEnablingBehaviour">
</endpoint>
Так что, хотя мы используем разные привязки и одинаковые listenuri (если мы не указываем listenuri, это будет по умолчанию), так как значения адреса (относительного адреса) различаются, это будет работать нормально.