我有一個運行在.NET 3.5框架上的WCF服務託管的asp.net 2.0網站。該網站僅設置了集成Windows身份驗證。 Web服務器是IIS 6,在Windows 2003 Sp2(2臺服務器)上進行負載平衡。我無法使用完整的URL訪問WCF服務(.svc)(http://myqa2.abcdefg.com/trxn/WCFTrxnService.svc)。另請注意,服務器配置了多個主機標頭。該網站受siteminder的保護。最初我得到一個錯誤集成Windows身份驗證WCF多個主機頭IIS 6不工作
這個集合已經包含一個地址與方案http。此集合中每個方案最多可以有一個地址。參數名:項目
因此增加了以下配置項
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<clear/>
<add prefix="http://myqa2.abcdefg.com"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
該錯誤走開了,但現在我被提示由瀏覽器登錄。對於同一個網站,我可以訪問.aspx頁面。登錄提示僅出現在.svc文件中。
這是我使用的配置文件中的綁定/端點。
<system.serviceModel>
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<clear/>
<add prefix="http://myqa2.abcdefg.com"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
<bindings>
<basicHttpBinding>
<binding name="IISIntegratedAuthBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="TestWCFFromSL.Web.WCFTrxnServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpGetUrl="http://myqa2.abcdefg.com/fmc/WCFNotesService.svc"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="TestWCFFromSL.Web.WCFTrxnService" behaviorConfiguration="TestWCFFromSL.Web.WCFTrxnServiceBehavior">
<endpoint
address="http://myqa2.abcdefg.com/trxn/WCFTrxnService.svc"
binding="basicHttpBinding"
bindingConfiguration="IISIntegratedAuthBinding"
contract="TestWCFFromSL.Web.IWCFTrxnService" />
</service>
</services>
<!--<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>-->