Example #1
0
        public Session( IServerDispatcher dispatcher, IHttpFilter filter )
        {
            Contract.Ensures( dispatcher != null );
            Contract.Ensures(filter!=null);

            Id = Guid.NewGuid().ToString();

            _filter = filter;

            _serverConnectingEvent = new Semaphore( 1, 1 );
            _logger = new SessionLogger( Id );

            _serverDispatcher = dispatcher;
            _serverDispatcher.ActiveServerClosedConnection += new EventHandler(_serverDispatcher_ActiveServerClosedConnection);
            _serverDispatcher.ServerDataAvailable += ServerDispatcherServerDataAvailable;
            _serverDispatcher.Logger = _logger;

            _logger.Verbose( "Creating session" );
        }
Example #2
0
        public ClientSession( IServerDispatcher dispatcher, INetworkFacadeFactory facadeFactory, IAccessLog accessLog )
        {
            Contract.Requires( dispatcher != null );
            Contract.Requires( facadeFactory != null );
            Contract.Requires( accessLog != null );

            ServiceLog.Logger.Verbose( "{0} ClientSession -- constructor", Id );

            _facadeFactory = facadeFactory;
            _accessLog = accessLog;

            //_sendingDataToClientLock = new ManualResetEvent(true);
            _id = Guid.NewGuid().ToString();
            _dispatcher = dispatcher;
            _dispatcher.SessionId = Id;
            _dispatcher.FatalErrorOccurred += _dispatcher_FatalErrorOccurred;
            _dispatcher.PartialDataAvailable += _dispatcher_PartialDataAvailable;
            _dispatcher.ReadResponseHeaderComplete += _dispatcher_ReadResponseHeaderComplete;
            _dispatcher.AllServersInactive += _dispatcher_AllServersInactive;
            _dispatcher.EmptyPipeline += _dispatcher_EmptyPipeline;
        }