2015-11-26 673 views
0

我正尝试使用Azure服务总线连接内部的WCF服务现在我已经浏览了文档,并且他们仅为sf托管的wcf服务提供了示例,但没有提供服务托管时的示例在IIS服务器上,您拥有的只是可以使用该服务的网址。我已经设置了我的IIS服务器进行预加载,并始终运行为true,但我不知道如何连接该服务。 所以我想问问你们是否已经做到了这一点,让我指出正确的方向,或者至少指向我一些可行的文件,从中我可以学习如何做到这一点。将IIS部署的WCF服务连接到Azure服务总线

谢谢。

回答

0

好吧,我知道这是怎么回事,回答我自己的问题,但昨天当我问我时,我正在把我的笔记本电脑扔出窗外:)。

令人恼火的是,Microsoft和azure社区提供的教程仅解决了在控制台应用程序中托管wcf服务时遇到的问题,而不是IIS应该原则上相同但由于某些原因而不是。因此,这里是用于连接企业IIS上部署的本地wcf服务在公司网络外部不可见的Web配置部分。

<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> 

只需添加上面的代码在你的WCF服务的Web配置的<system.serviceModel>标签,你应该做的,请注意,您必须安装服务总线NuGet包。
测试客户端可以是一个简单的控制台应用程序,如示例中所示。 对于像我这样的天青初学者,不要担心,如果标签点亮为蓝色,因为它不存在,它将起作用。保持冷静,发展:)