public bool OnSessionEstablished(Session session) { if (session == null || session.SessionType != SessionTypes.Management || session.Connection == null || _managementServer == null) { return(false); } try { IDualChannel channel; IPAddress localAddress = DnsCache.Resolve(Environment.MachineName); channel = new DualChannel(session.Connection, session.IP.ToString(), session.RemotePort, localAddress.ToString(), session.SessionType, _traceProvider, _channelFormatter); switch (session.SessionType) { case SessionTypes.Management: ManagementSession managementSession = (ManagementSession)_managementServer.OpenManagementSession(new UserCredentials()); channel.RegisterRequestHandler(managementSession); managementSession.Channel = channel; if (channel.Connect(true)) { _sessionChannnelMap.Add(managementSession, channel); } return(true); } } catch (Exception ex) { if (LoggerManager.Instance.ServerLogger != null && LoggerManager.Instance.ServerLogger.IsErrorEnabled) { LoggerManager.Instance.ServerLogger.Error("MgtSessionListener.OnSessionEstablished", "Error", ex); } } return(false); }
public bool OnSessionEstablished(Session session) { if (session == null || session.SessionType != SessionTypes.Monitoring || session.Connection == null) { return(false); } IDualChannel _channel; IPAddress _localAddress = DnsCache.Resolve(Environment.MachineName); _channel = new DualChannel(session.Connection, session.IP.ToString(), session.RemotePort, _localAddress.ToString(), session.SessionType, null, _channelFormatter); switch (session.SessionType) { case SessionTypes.Monitoring: { MonitorServer monitorServerSession = new MonitorServer(_clientSessionManager, _nodeContext, new UserCredentials()); _channel.RegisterRequestHandler(monitorServerSession); monitorServerSession.Channel = _channel; try { if (_channel.Connect(true)) { _sessionChannnelMap.Add(monitorServerSession, _channel); } } catch (ChannelException ex) { //RTD: Replace shardLogger with the respective module logger name if (LoggerManager.Instance.ShardLogger != null && LoggerManager.Instance.ShardLogger.IsErrorEnabled) { LoggerManager.Instance.ShardLogger.Error("Error: MonitorSessionListener.OnSessionEstd()", ex.ToString()); } } return(true); } } return(false); }
public bool OnSessionEstablished(Session session) { if (session == null || session.Connection == null) { return(false); } IDualChannel _channel; IPAddress _localAddress = DnsCache.Resolve(Environment.MachineName); _channel = new DualChannel(session.Connection, session.IP.ToString(), session.RemotePort, _localAddress.ToString(), session.SessionType, _traceProvider, _channelFormatter); try { switch (session.SessionType) { case SessionTypes.Management: case SessionTypes.Client: { ConfigurationSession cfgsession = (ConfigurationSession)this.ConfigServer.OpenConfigurationSession(new SSPIClientAuthenticationCredential()); //new ConfigurationSession(this.ConfigServer, new UserCredentials()); _channel.RegisterRequestHandler(cfgsession); if (session.SessionType == SessionTypes.Client) { cfgsession.Channel = _channel; } else { cfgsession.NodeChannel = _channel; } cfgsession.Parent = this; if (_channel.Connect(true)) { _sessionChannnelMap.Add(cfgsession, _channel); } return(true); } case SessionTypes.Shard: { return(false); } case SessionTypes.Monitoring: { ConfigrationMonitorSession cfgMonitorsession = new ConfigrationMonitorSession( this.ConfigServer, new UserCredentials()); _channel.RegisterRequestHandler(cfgMonitorsession); cfgMonitorsession.Channel = _channel; if (_channel.Connect(true)) { } return(true); } } } catch (ChannelException ex) { if (LoggerManager.Instance.CONDBLogger != null && LoggerManager.Instance.CONDBLogger.IsErrorEnabled) { LoggerManager.Instance.CONDBLogger.Error("Error: SessionMgr.OnSessionEstd()", ex.ToString()); } } return(false); }