2011-02-08 20 views
6

He configurado un servicio WCF con wsHttpBinding pero incluso entonces me sale el errorHTTP básicas que se unen no está configurado correctamente

Contract requires Session, but Binding 'BasicHttpBinding' doesn't support it or isn't configured properly to support it. 

aquí está la definición de contrato de servicios

<ServiceContract(SessionMode:=SessionMode.Required)> 
Public Interface IPrivateService 

Aquí está la definición de implementación de servicio

<ServiceBehavior(InstanceContextMode:=InstanceContextMode.PerSession)> 
Public Class PrivateService 
    Implements IPrivateService 

Aquí es la configuración de configuración

<services> 
    <service behaviorConfiguration="behaviorAction" name="Viking.Service.PrivateService"> 
      <endpoint address="RequiredService" binding="wsHttpBinding" bindingConfiguration="bindingAction" contract="Viking.Service.IPrivateService"> 
       <identity> 
       <dns value="localhost"/> 
       </identity> 
      </endpoint> 
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
      </service> 
</services> 
<bindings> 
      <wsHttpBinding> 
      <binding name="bindingAction" transactionFlow="false" sendTimeout="00:30:00" receiveTimeout="00:30:00"> 
       <reliableSession enabled="true"/> 
      </binding> 
      </wsHttpBinding> 
</bindings> 

apreciar realmente cualquier consejo sobre el tema.

Respuesta

24

Si está utilizando wcf 4.0, abra web.config/app.config y agregue la siguiente etiqueta dentro de la etiqueta <system.serviceModel>.

<protocolMapping> 
    <add scheme="http" binding="wsHttpBinding"/> 
</protocolMapping> 
+0

que funciona. Gracias una tonelada ! – Vikram

+0

cómo declarar protocolMapping desde el código? – Butsaty

Cuestiones relacionadas