2010-12-10 17 views

Répondre

10

Comme il est répertorié here, choisissez la liaison wsHttpBinding ou NetTcpBinding.WSHttpBinding.

+0

je la solution, mais le problème n'a pas disparu et j'ai trouvé une chose à faire [ici] (http: //stackoverflow.com/questions/4930403/basic-http-binding-isnt-configured-properly) alors n'oubliez pas d'ajouter ce à votre config ... – Mochi

9

Ce message d'erreur est rarement clair. Ici, la réponse est la suivante: basichttpbinding ne supporte pas la session. Vous devez donc utiliser la propriété ci-dessous si vous souhaitez l'utiliser. [ServiceContract (SessionMode = SessionMode.Allowed)]

Cela signifie, si vous essayez de configurer plusieurs liaisons comme basichttp, wshttp, net.tcp, WCF active automatiquement la session autre que basichttp obligatoire. donc si vous mettez SessionMode.Required au lieu de Allowed, vous êtes obligé de ne pas utiliser basichttpbinding.

Cela dit, la résolution de cette question exigerait normalement quelque chose comme ceci:

<system.serviceModel> 
    <protocolMapping> 
     <add scheme="http" binding="wsHttpBinding" bindingConfiguration="wsHttpBindingConfiguration" /> 
    </protocolMapping> 
    <bindings> 
     <wsHttpBinding> 
     <binding name="wsHttpBindingConfiguration" transactionFlow="true" /> 
     </wsHttpBinding> 
     .......