Peut-être que je manque quelque chose de basique ici, alors corrigez-moi si je le suis. J'ai un service local et une application WinForms qui communiquent via WCF, mais il me semble finir avec beaucoup de copies de ce code dans mon application:Gérer fréquemment appelé connexion WCF
Public Shared Sub MyLocalMethod1()
Dim tcpBinding As New NetTcpBinding
tcpBinding.SendTimeout = New TimeSpan(0, 0, 5)
Dim tcpFactory As ChannelFactory(Of MyWCFClass.MyWCFInterface) = New _
ChannelFactory(Of MyWCFClass.MyWCFInterface)(tcpBinding, "net.tcp://localhost:4079")
Dim ServiceWCFConnection As MyWCFClass.MyWCFInterface = tcpFactory.CreateChannel
ServiceWCFConnection.MyWCFMethod1()
tcpFactory.Close()
End Sub
Je devrais probablement faire cela dans une sorte de La classe d'assistance qui crée la connexion, permet à mon service de l'utiliser, puis ferme la connexion, donc je n'ai pas plusieurs copies de ce code de connexion. Cependant, devrais-je laisser cette connexion ouverte, ou est-ce logique de la fermer à chaque fois? Le WinForm appelle généralement le service toutes les quelques secondes, il peut donc être plus logique d'essayer d'avoir une copie commune que tous ces différents appels peuvent accéder à chacun, au lieu d'ouvrir une fermeture d'une nouvelle connexion à chaque fois.