Inizializzazione del proxy client WCF

Inizializzazione del proxy client WCF

Dipende;-)

Se nell'app è presente una sequenza che richiede più chiamate l'una dopo l'altra, è possibile riagganciare il client proxy e continuare a utilizzarlo per effettuare ulteriori chiamate. Tieni presente, tuttavia, di verificare lo stato "difettoso":se si verifica un errore sul server, il canale tra il proxy client e il server potrebbe "guasto" e quindi il tuo proxy client diventa inutilizzabile.

Inoltre, la parte costosa è la creazione del ChannelFactory<T> - potresti provare a separare questi due passaggi quando crei il tuo client proxy nel codice:

ChannelFactory<IYourService> factory = new ChannelFactory<IYourService>();

Resisti a quella fabbrica di canali, ad es. memorizzalo nella cache da qualche parte

Il secondo passaggio dovrebbe essere molto meno intenso in termini di tempo e potenza:

IYourService client = factory.CreateChannel();

Potresti eseguire questo passaggio prima di ogni chiamata (o sequenza di chiamate) e non dovresti ottenere prestazioni negative da questo, davvero.

Consiglio vivamente di evitare i singleton quando possibile:è come aprire una lattina di worm, non farlo a meno che non sia assolutamente necessario (ad esempio per gestire l'accesso a una singola risorsa che è disponibile solo per un chiamante alla volta).

Marco