Exemplo n.º 1
0
        /// <summary>
        /// Creates the app session.
        /// </summary>
        /// <param name="socketSession">The socket session.</param>
        /// <returns></returns>
        IAppSession IAppServer.CreateAppSession(ISocketSession socketSession)
        {
            if (!ExecuteConnectionFilters(socketSession.RemoteEndPoint))
            {
                return(NullAppSession);
            }

            var appSession = new TAppSession();

            if (!RegisterSession(socketSession.SessionID, appSession))
            {
                return(NullAppSession);
            }

            appSession.Initialize(this, socketSession, RequestFilterFactory.CreateFilter(this, socketSession));
            socketSession.Closed += OnSocketSessionClosed;

            if (Logger.IsInfoEnabled)
            {
                Logger.InfoFormat("A new session connected!");
            }

            OnNewSessionConnected(appSession);

            return(appSession);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Creates the app session.
        /// </summary>
        /// <param name="socketSession">The socket session.</param>
        /// <returns></returns>
        public virtual IAppSession CreateAppSession(ISocketSession socketSession)
        {
            if (!ExecuteConnectionFilters(socketSession.RemoteEndPoint))
            {
                return(NullAppSession);
            }

            var appSession = new TAppSession();

            appSession.Initialize(this, socketSession, RequestFilterFactory.CreateFilter(this, socketSession));
            socketSession.Closed += OnSocketSessionClosed;

            OnNewSessionConnected(appSession);

            return(appSession);
        }