2011-09-07 18 views

risposta

19

No, basicHttpBinding non supporta questo a causa della natura senza connessione del Protocollo HTTP Si può prendere uno sguardo alla following blog post:

Ad esempio, il BasicHttpBinding può mai avere una sessione a livello di trasporto a causa della natura senza connessione del protocollo HTTP. WSHttpBinding senza sicurezza e senza messaggistica affidabile lo non manterrà una sessione a livello di trasporto. In entrambi i casi, anche se il servizio è configurato con InstanceContextMode.PerSession e il contratto con SessionMode.Allowed, il servizio si comporterà come servizio per chiamata, e le chiamate a Dispose() sono asincrone; ovvero, il client è non bloccato dopo la chiamata mentre WCF elimina l'istanza.

Tuttavia, se si utilizza la WSHttpBinding con la sicurezza (il valore predefinito configurazione) o con messaggistica affidabile, oppure il NetTcpBinding, o il NetNamedPipeBinding, allora il servizio si comporterà come un servizio di per sessione.

Ed ecco uno list of system provided bindings insieme ad alcune delle loro caratteristiche.

+0

Salve, se i siti Web possono gestire sessioni utilizzando l'id di sessione (nei cookie) tramite HTTP senza connessione, perché WCF non riesce a farlo? – thewpfguy

Problemi correlati