2012-05-07 6 views
2

Je reçois l'erreur suivante lorsque mon site ASP.NET 4.0 charge, et c'est à cause de mes paramètres de service WCF dans le fichier web.config (je ne suis pas assez d'un expert WCF et Google isn ' t aider :)):Configuration de point de terminaison WCF Problème

le critère d'évaluation à '[chemin vers mon Service.svc]' n'a pas de liaison avec le Aucun MessageVersion. 'System.ServiceModel.Description.WebScriptEnablingBehavior' est uniquement destiné à être utilisé avec WebHttpBinding ou des liaisons similaires.

j'utilisais webHttpBinding mais devenais l'erreur suivante, alors maintenant j'utilise basicHttpBinding après following the advice of this post:

Paramètres de sécurité pour ce service exigent l'authentification "Anonyme mais il n'est pas activé l'application IIS qui héberge ce service .

De toute façon, voici les informations pertinentes de mon web.config. S'il vous plaît aider!

<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> 

Répondre

1

Vous ne pouvez pas utiliser basicHttpBinding avec enableWebScript. Définissez votre liaison à WebHttpBinding.

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