Modules/EDMI_ClientSuite/ClassInit.vb
Digital Data - Marlon Schreiber 00924416ec windream
2019-01-23 18:01:24 +01:00

64 lines
2.1 KiB
VB.net

Imports DigitalData.Modules.Logging
Imports System.ServiceModel
Imports EDMI_ClientSuite.NetworkService_DDEDM
Imports System.IO
Public Class ClassInit
Private _ChannelFactory As ChannelFactory(Of IEDMServiceChannel)
Private _Channel As IEDMServiceChannel
Private _Logger As Logger
Private _MyLogger As LogConfig
Public Sub New()
Dim oUserAppdata = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Digital Data\EDMI_Client_Suite\Log")
_MyLogger = New LogConfig(LogConfig.PathType.CustomPath, oUserAppdata)
_Logger = _MyLogger.GetLogger()
MyLogger = _Logger
MyLogConfig = _MyLogger
Try
Dim binding As New NetTcpBinding()
binding.Security.Mode = SecurityMode.Transport
binding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Windows
binding.MaxReceivedMessageSize = 2147483647
binding.MaxBufferSize = 2147483647
binding.MaxBufferPoolSize = 2147483647
binding.MaxConnections = 10000
binding.ReaderQuotas.MaxArrayLength = 2147483647
binding.ReaderQuotas.MaxStringContentLength = 2147483647
'binding.TransferMode = TransferMode.Streamed
Dim endpointAddress = New EndpointAddress(My.Settings.EDM_NetworkService_Adress)
_ChannelFactory = New ChannelFactory(Of IEDMServiceChannel)(binding, endpointAddress)
Connect2NetService()
Catch ex As Exception
_Logger.Error(ex)
End Try
End Sub
Private Function Connect2NetService()
Try
_Channel = Nothing
_Channel = _ChannelFactory.CreateChannel()
_Logger.Info("Successfully connected to EDM_Network Service")
AddHandler _Channel.Faulted, AddressOf Reconnect
_Channel.Open()
Return True
Catch ex As Exception
_Logger.Error(ex)
Return False
End Try
End Function
Private Sub Reconnect()
_Channel.Abort()
Connect2NetService()
End Sub
End Class