2012-02-24 18 views
0

自分のローカルテストWebサーバーでうまく動作する初めてのWCF Webサービスを作成しましたが、IISに展開するとエラーが発生します。Windows認証でWCF Webサービスが動作しない

IISサーバーは統合認証を使用しており、ではなく、では匿名アクセスが許可されています。 what I've readから、バインディングのセキュリティモードをTransportCredentialOnlyに設定する必要があります。 web.configで全体のセクションは次のとおりです。

<system.serviceModel> 
    <behaviors> 
     <endpointBehaviors> 
     <behavior name="VZW.TrainingPortfolioManager.Website.TPMAspNetAjaxBehavior"> 
      <enableWebScript /> 
     </behavior> 
     </endpointBehaviors> 
    </behaviors> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> 
    <services> 
     <service name="VZW.TrainingPortfolioManager.Website.TPM"> 
     <endpoint address="" behaviorConfiguration="VZW.TrainingPortfolioManager.Website.TPMAspNetAjaxBehavior" 
      binding="webHttpBinding" contract="VZW.TrainingPortfolioManager.Website.TPM" /> 
     </service> 
    </services> 
    <bindings> 
     <basicHttpBinding> 
     <binding> 
      <security mode="TransportCredentialOnly"> 
      <transport clientCredentialType="Windows" /> 
      </security> 
     </binding> 
     </basicHttpBinding>  
    </bindings> 
    </system.serviceModel> 

しかし、私は、ブラウザでWebサービスをロードすると、私はエラーメッセージを得る:私は、変更したりするように設定する必要があり、何が

Security settings for this service require 'Anonymous' Authentication but it is not enabled for the IIS application that hosts this service. 

ありますがこれを稼働させる?

答えて

0

endpointbinding属性は、<bindings>コレクションのノードと一致する必要があります。以下が動作します:

<bindings> 
    <webHttpBinding> 
    <binding> 
     <security mode="TransportCredentialOnly"> 
     <transport clientCredentialType="Windows" /> 
     </security> 
    </binding> 
    </webHttpBinding>  
</bindings> 
関連する問題