Domanda

Ho un servizio WCF e utilizzare Spring.ServiceModel.Activation.ServiceHostFactory come una fabbrica nel mio * .svc. Che cosa ho bisogno è quello di caricare alcuni dati nella cache quando il servizio viene chiamato prima volta o che si riavvia. La prego di suggerire un modo migliore per farlo? In questo momento ho ereditato dal Spring.ServiceModel.Activation.ServiceHostFactory e mettere il mio codice di lì, ma probabilmente dovrebbe essere un modo migliore? Tnx in anticipo.

È stato utile?

Soluzione

Al momento disponiamo di questo tipo di codice di avvio nel costruttore statico della nostra ServiceHostFactory personalizzato. A seconda delle impostazioni per quanto riguarda l'IIS' pool di applicazioni del servizio (s) questo dovrebbe andare bene.

È necessario avere uno sguardo alle impostazioni di riciclo del pool di applicazioni. Una volta che viene riciclato, il costruttore statico sarà chiamato di nuovo.

Altri suggerimenti

È possibile utilizzare AOP per intercettare la chiamata (dal momento che si sta utilizzando già primavera) per ottenere la 'prima chiamata', ma la cosa più semplice da fare sarebbe quella di chiamare il fornitore della cache nel costruttore del vostro servizio o di qualche inizializzazione metodo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top