Si sta tentando di ottenere un servizio WCF per sapere quando un client è disconnesso.Gestione del client disconnessione nel servizio WCF duplex
Dopo aver letto questo articolo wcf notification on disconnect sono riuscito a far funzionare un progetto di test.
Il client e il server rimangono aperti finché non chiudo il client, quindi l'evento OperationContext.Current.Channel.Closed sembra sparare dopo la scadenza del timeout nella riga sottostante.
<reliableSession enabled="true" ordered="true" inactivityTimeout="00:01:00" />
Dopo aver testato questo ha funzionato come volevo ho poi cercato di integrarla in un progetto più ampio che ho.
Questo sembra comportarsi in modo diverso in quanto OperationContext.Current.Channel.Closed si attiva anche dopo l'ora specificata nella configurazione <reliableSession ordered="true" inactivityTimeout="00:01:00" />
anche quando il client è ancora aperto.
Le cose che ho notato sono diverse è il fatto che non posso specificare una proprietà enabled = "true" nella configurazione. Anche il secondo progetto utilizza WSDualHTTPBinding mentre il primo utilizza WSHTTPBinding.
La mia domanda è perché il secondo progetto si comporta in questo modo e come posso farlo comportarsi come il primo?
Se avete bisogno di file di codice o post di configurazione, fatemelo sapere e li otterrò subito.
Cordiali saluti
Ash
Quali sono le piattaforme su cui è in esecuzione il client? –