Ho qualcosa che voglio inizializzare e utilizzarein una libreria di servizi WCF. Se fosse in un sito ASP.NET, lo farei con il metodo Application_Start di global.asax, ma qual è l'equivalente per una libreria di servizi WCF?
risposte:
3 per risposta № 1Uso un singleton statico che ho inizializzato in modo pigro dove tengo tutto lo stato dell'app e mi sento disgustoso ogni volta che lo faccio.
2 per risposta № 2
È possibile creare componenti WCF con sessioni.
Si prega di vedere la mia risposta su questa domanda: Servizio WCF efficiente in Silverlight
Puoi persino creare oggetti duraturi con sessionemantengono il loro stato dopo che ti sei disconnesso da loro (salvandolo su un file o su un server sql). Anche il capitolo 4 del libro di Juval Lowy tratta alcuni dettagli di questo.
È questo quello che stai cercando?
1 per risposta № 3
Al momento sono ancora in modalità di apprendimento con WCF,ma penso che il modo più elegante per farlo effettivamente sia definire le tue classi che detengono lo stato e far sì che implementino l'interfaccia IExtension.
Consulta questo articolo per una panoramica: http://blogs.msdn.com/b/drnick/archive/2007/02/15/stashing-data-in-extensible-objects.aspx
E questo per un uso molto intelligente che coinvolge un timer: http://social.msdn.microsoft.com/Forums/vstudio/en-US/2793580f-b91a-4d4d-b98f-b7dcab70710a/wcf-periodic-methods-call-multithread