2011-07-13 117 views
1

我試圖爲我的WCF服務正確設置我的配置。多個站點綁定的WCF配置

在我們的網絡服務器上,我們將有一個可供Extenal互聯網用戶和內部用戶使用的服務。

訪問該站點外,你會去http://services.ourdomain.com 訪問網站的內部,你會去http://servername:9090

我想配置用戶身份驗證方式。所以對於外部我將使用usernamevalidator和內部現在只是沒有身份驗證,但這可能會在未來更改。

我怎樣才能設置我的配置文件,當訪問該服務來自外部它將使用customvalidator,但對於內部它只會使用常規的basicHttpBinding?

回答

0

嘗試這樣的事情在你的服務配置:

<services> 
    <service name = "MyService"> 
     <endpoint address = "http://services.ourdomain.com" binding = "customBinding"/> 
     <endpoint address = "http://servername:9090" binding = "basicBinding"/> 
    </service> 
</services> 

<bindings> 
    <binding name = "basicBinding"> 
     <security mode = "None"/> 
    </binding> 
    <binding name = "customBinding"> 
     <security mode = "Message"> 
      <message clientCredentialType="UserName"> 
     </security> 
    </binding> 
</bindings> 
+0

如果我指定2個不同的地址,我得到以下錯誤: 「當‘system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled’設置爲true在配置,端點需要指定一個相對地址,如果你在端點上指定了一個相對的監聽URI,那麼這個地址可以是絕對地址。爲了解決這個問題,爲端點指定一個相對的URI「 我需要關閉multipleSiteBindingsEnabled ? – BBurke