Laquelle de ces deux façons d'utiliser le service wcf est la meilleure ? Pourquoi ?
- Générer un proxy à partir d'une référence de service
- à l'aide de ChannelFactory
ex.
ChannelFactory<IMyContract> factory = new ChannelFactory<IMyContract>();
IMyContract proxy1 = factory.CreateChannel();
proxy1.MyMethod();
Il est un peu ennuyeux d'appeler le service wcf comme donc
IMyContract proxy1 = null;
try
{
proxy1 = factory.CreateChannel();
proxy1.MyMethod();
((ICommunicationObject)proxy1).Close();
}
catch
{
((ICommunicationObject)proxy1).Abort();
}
Devrions-nous répéter cet extrait pour chaque appel de proxy ? Ou existe-t-il un moyen générique de créer une classe enveloppante pour fermer et interrompre les proxies ?
Est-ce que la classe d'écriture est comme ceci ServiceExecution.Execute(proxy=>proxy.MyMethod());
qui crée un proxy, et le ferme ou l'interrompt bonne façon de procéder ?