Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }