Esempio n. 1
0
        public void Push(SessionState state)
        {
            lock (sessionStates)
            {
                SessionState previousState = Peek();

                if (previousState != null)
                    previousState.Pause();

                state.Session = owner;
                sessionStates.Push(state);
                state.Start();
            }
        }
Esempio n. 2
0
        public static Session Create(IConnection connection, SessionState sessionState, IConnectionWriterFactory connectionWriterFactory, IServiceProvider services)
        {
            if (connection == null)
                throw new ArgumentNullException("connection", "connection is null.");
            if (sessionState == null)
                throw new ArgumentNullException("sessionState", "sessionState is null.");

            Session session =
                new Session(connectionWriterFactory)
                {
                    Connection = connection,
                    Services = services
                };

            session.PushState(sessionState);

            return session;
        }
Esempio n. 3
0
 public void PushState(SessionState sessionState)
 {
     stateStack.Push(sessionState);
 }