WCF端点配置问题

时间:2012-05-07 21:57:15

标签: asp.net wcf

我的ASP.NET 4.0网站加载时出现以下错误,这是因为我在web.config文件中的WCF服务设置(我只是不够WCF专家而Google不是'帮助:)):

  

'[我的Service.svc的路径]'中的端点没有绑定   使用None MessageVersion。   'System.ServiceModel.Description.WebScriptEnablingBehavior'仅供参考   旨在与WebHttpBinding或类似绑定一起使用。

我使用webHttpBinding但收到了以下错误,所以现在我在following the advice of this post后使用basicHttpBinding

  

此服务的安全设置需要“匿名”身份验证   但它没有为承载此功能的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 个答案:

答案 0 :(得分: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>