Ho servizio WCF consumato dal cliente AJAX usando SOAP 1.2Perché InstanceContextMode.PerSession si comporta come PerCall quando si utilizza wsHttpBinding?
web.config:
<endpoint address="" binding="wsHttpBinding"
contract="WcfService1.IService1" bindingConfiguration="wsHttpBin">
<wsHttpBinding>
<binding name="wsHttpBin">
<security mode="None"/>
</binding>
</wsHttpBinding>
Da quello che ho read, devo usare <security mode="None"/>
dal momento che un servizio di vista con “wsHttpBinding” vincolante implementa le specifiche della famiglia di servizi Web WS-Security di WS- *. Poiché l'associazione utilizza la sicurezza, la richiesta verrà rifiutata poiché AJAX non supporta il contesto di sicurezza.
mio WCF comportamento del servizio è definita con InstanceContextMode.PerSession
:
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple,
InstanceContextMode = InstanceContextMode.PerSession)]
ma quando ho consumare, si comportano servizio come PerCall e ogni chiamata avvia una nuova istanza WCF invece di utilizzare l'istanza corrente.
Perché InstanceContextMode.PerSession si comporta come PerCall quando si utilizza wsHttpBinding?
Cosa posso fare?
possibile duplicato: http://stackoverflow.com/questions/4767102/wcf-sessions-with-a-wshttpbinding-and-without-windows-security – ErnieL
@ErnieL Grazie ma utilizzando non è un'opzione per me dal momento che non funzionerà con il mio client AJAX. –
Da solo wsHttpBinding non supporta le sessioni. – ErnieL