2012-05-07 169 views
2

當我的ASP.NET 4.0網站加載時出現以下錯誤,這是因爲我的WCF服務設置在web.config文件中(我只是不夠WCF專家而且Google不支持' t幫助:)):WCF端點配置問題

'[我的Service.svc的路徑]'上的端點沒有與None MessageVersion的綁定 。 'System.ServiceModel.Description.WebScriptEnablingBehavior'僅爲 ,旨在用於WebHttpBinding或類似的綁定。

我用webHttpBinding但得到以下錯誤,所以現在我使用basicHttpBindingfollowing the advice of this post

此服務的安全設置需要「匿名」身份驗證,但它不是爲啓用 承載此 服務的IIS應用程序。

無論如何,這裏是我的web.config中的相關信息。請幫忙!

<system.serviceModel> 
    <behaviors> 
    <serviceBehaviors> 
     <behavior name="ABC.ProjectName.Web.ServiceBehavior"> 
     <serviceDebug httpHelpPageEnabled="true" includeExceptionDetailInFaults="true" /> 
     </behavior> 
    </serviceBehaviors> 
    <endpointBehaviors> 
     <behavior name="ABC.ProjectNameDell.Web.ServiceBehavior"> 
     <enableWebScript /> 
     </behavior> 
    </endpointBehaviors> 
    </behaviors> 
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" 
          aspNetCompatibilityEnabled="true" /> 
    <bindings> 
    <basicHttpBinding> 
     <binding name="webHttpBinding_AnonymousDisabled" > 
     <security mode="TransportCredentialOnly"> 
      <transport clientCredentialType="Windows" /> 
     </security> 
     </binding> 
    </basicHttpBinding> 
    </bindings> 
    <services> 
    <service name="ABC.ProjectName.Web.AjaxService" > 
     <endpoint address="/" 
       behaviorConfiguration="ABC.ProjectName.Web.ServiceBehavior" 
       binding="basicHttpBinding" 
       contract="ABC.ProjectName.Web.AjaxService" /> 
    </service> 
    </services> 
</system.serviceModel> 

回答

1

您無法將basicHttpBinding與enableWebScript配合使用。將您的綁定設置爲WebHttpBinding。

<service name="ABC.ProjectName.Web.AjaxService" > 
    <endpoint address="/" behaviorConfiguration="ABC.ProjectName.Web.ServiceBehavior" 
     binding="webHttpBinding" 
     contract="ABC.ProjectName.Web.AjaxService" /> 
    </service>