Возможно, мне не хватает чего-то основного здесь, поэтому, пожалуйста, исправьте меня, если я есть. У меня есть местный сервис и приложение WinForms, которые взаимодействуют с помощью WCF, но я, кажется, в конечном итоге с большим количеством копий этого кода в моем приложении:Управление часто называемым соединением 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
я, вероятно, должны делать это в какой-то вспомогательный класс, который создает соединение, позволяет моей службе его использовать, а затем закрывает соединение, поэтому у меня нет нескольких копий этого кода подключения. Однако, должен ли я оставить это соединение открытым, или имеет смысл закрыть его каждый раз? WinForm обычно вызывает эту услугу каждые несколько секунд, поэтому имеет смысл попробовать и иметь общую копию, доступную каждому из этих разных вызовов, а не открывать закрытие нового соединения каждый раз.