2015-11-26 1 views
0

Я пытаюсь подключиться к сервису WCF в помещении с помощью сервисной шины azure, теперь я просмотрел документацию, и у них есть примеры только для sf-сервисов wcf, но не при размещении службы на сервере IIS, и все, что у вас есть, - это URL, из которого вы можете использовать эту услугу. Я настроил свой сервер IIS для предварительной загрузки и всегда работает до true, но у меня нет идеи о том, как подключить услугу. Так что я хотел бы спросить, сделал ли кто-то из вас это, чтобы указать мне в правильном направлении или хотя бы указать мне на какую-то жизнеспособную документацию, из которой я могу научиться этому.Подключение службы WCF с помощью сервисной шины Azure

Thank you.

ответ

0

Хорошо, я знаю, как это выглядит, отвечая на мой собственный вопрос, но вчера, когда я спросил его, я был на грани выброса моего ноутбука из окна :).

Раздражает то, что учебные пособия, предоставленные 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 пакет услуг автобус.
Клиент-тестировщик может быть простым консольным приложением, как в примерах. Для новичков в лазури как я, не волнуйтесь, если теги загорятся синим цветом, как несуществующие, он будет работать. Сохраняйте спокойствие и развитие :)