Хорошо, я знаю, как это выглядит, отвечая на мой собственный вопрос, но вчера, когда я спросил его, я был на грани выброса моего ноутбука из окна :).
Раздражает то, что учебные пособия, предоставленные Microsoft и лазурным сообществом, предназначены только для решения этой проблемы, когда вы размещаете службу wcf в консольном приложении, а не в IIS, что должно быть основополагающим, но по какой-то причине не было , Итак, вот часть веб-конфигурации для подключения службы wcf на местах, развернутой на корпоративном IIS, невидимом вне корпоративной сети.
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="ServiceBusBehavior">
<transportClientEndpointBehavior>
<tokenProvider>
<!--Endpoint=sb://bus-weather.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=e/JdrCvjy/l8nuYYCHXdfssfsfsfsfsfsfsM=-->
<sharedAccessSignature keyName="RootManageSharedAccessKey" key="e/JdrCvjy/l8nuYYCHXdfssfsfsfsfsfsfsM=" />
</tokenProvider>
</transportClientEndpointBehavior>
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
<services>
<service name="connectServiceBus.GetWeather">
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="DefaultBinding" contract="connectServiceBus.IGetWeather"/>
<endpoint address="sb://bus-weather.servicebus.windows.net/weatherSRV" binding="netTcpRelayBinding" behaviorConfiguration="ServiceBusBehavior" contract="connectServiceBus.IGetWeather"/>
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="DefaultBinding" />
</basicHttpBinding>
<netTcpRelayBinding>
<binding name="ServiceBusBinding" />
</netTcpRelayBinding>
</bindings>
Просто добавьте выше фрагмент кода в <system.serviceModel>
тег веб-конфигурации вашей службы WCF, и вы должны сделать, обратите внимание, что вы должны установить NuGet пакет услуг автобус.
Клиент-тестировщик может быть простым консольным приложением, как в примерах. Для новичков в лазури как я, не волнуйтесь, если теги загорятся синим цветом, как несуществующие, он будет работать. Сохраняйте спокойствие и развитие :)