У меня есть служба WCF, и я размещаю ее в службе Windows.
Я попытался добавить ссылку на службу из клиента Windows Form, построенного на .NET 2.0. Я мог бы получить веб-ссылку, указав на httpGetUrl = "http://localhost:8002/HBAccess/help/mex", но когда я проверяю Reference.cs --- Он содержит только пространство имен, в котором ничего нет.
Теперь я добавляю basicHttpBinding и повторяю те же шаги:
А теперь я вижу классы для веб-службы.
Мой старший коллега настаивает на том, что установки значения httpGetEnabled в true будет достаточно для экспорта службы WCF через http и создания правильной веб-ссылки.
Может ли кто-нибудь указать мне на то, что мне здесь не хватает?
<system.serviceModel>
<services>
<service behaviorConfiguration="HBAcsNX.HBAccessBehavior" name="HBAcsNX.HBAccess">
<!--<endpoint address="" binding="basicHttpBinding" contract="HBAcsNX.HBAccess" />-->
<endpoint address="HBAccess" binding="netTcpBinding" contract="HBAcsNX.HBAccess" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:18264/HBAccess/" />
<add baseAddress="http://localhost:8002/HBAccess/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="HBAcsNX.HBAccessBehavior">
<serviceDebug includeExceptionDetailInFaults="True" httpHelpPageUrl="http://localhost:8002/HBAccess/help" />
<serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:8002/HBAccess/help/mex" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
// Результирующий Reference.cs (пустая заглушка прокси с единственным пространством имен)
#pragma warning disable 1591
namespace Form.ServiceClient {
}
#pragma warning restore 1591