2013-01-09 159 views
0

我正在嘗試製作一個監聽Service Bus的WCF應用程序。如何在設置multipleSiteBindingsEnabled爲true時設置WCF應用程序

<service behaviorConfiguration="MyServiceTypeBehavior" 
    name="WcfService3.Service1"> 
    <endpoint address="https://namespace.servicebus.windows.net/WebHttpService" 
    behaviorConfiguration="sharedSecretClientCredentials" 
    binding="webHttpRelayBinding" 
    bindingConfiguration="WebHttpRelayEndpointConfig" 
    name="RelayEndpoint" 
    contract="WcfService3.IService1"/> 
    </service> 

multipleSiteBindingsEnabled設置爲true,我改變了配置爲以下:

<service behaviorConfiguration="MyServiceTypeBehavior" 
    name="WcfService3.Service1"> 
    <host> 
     <baseAddresses> 
     <add baseAddress="https://namespace.servicebus.windows.net/" /> 
     </baseAddresses> 
    </host> 
    <endpoint address="WebHttpService" 
    behaviorConfiguration="sharedSecretClientCredentials" 
    binding="webHttpRelayBinding" 
    bindingConfiguration="WebHttpRelayEndpointConfig" 
    name="RelayEndpoint" 
    contract="WcfService3.IService1"/> 
    </service> 

這個結果時multipleSiteBindingsEnabled設置爲false在Web.config中定義的服務下面的代碼片段工作在以下錯誤中: Could not find a base address that matches scheme https for the endpoint with binding WebHttpRelayBinding. Registered base address schemes are [http].

還有什麼我需要聲明的服務,以便它註冊https作爲sch EME?請注意,我確實具有綁定的安全模式作爲傳輸。

回答

1

將多個SiteBindingsEnabled設置爲true將與使用中繼的端點不兼容。這是因爲中繼端點需要端點配置(服務總線中繼端點)上的絕對地址,而multipleSiteBindingsEnabled需要端點具有相對地址才能工作。

你想通過設置multipleSiteBindingsEnabled爲true來完成什麼?

+0

我正在嘗試爲mex添加另一個端點(從上面的配置中刪除它)。有沒有辦法揭露這一點? – TheDude

+0

你應該能夠,這段代碼有一個如何通過SB公開MEX端點的例子:http://msdn.microsoft.com/en-us/wazplatformtrainingcourse_servicebusadvancedconfigurations.aspx –

相關問題