internal void InitProviders(IServerChannelSinkProvider serverProviderChain)
        {
            _listener = null;
            _event    = new AutoResetEvent(false);

            _data                = new ChannelDataStore(null);
            _data.ChannelUris    = new String[1];
            _data.ChannelUris[0] = ChannelScheme + "://" + m_pipeName;

            _serverSinkProvider = serverProviderChain;

            // Create the default sink chain if one was not passed in
            if (_serverSinkProvider == null)
            {
                _serverSinkProvider = CreateDefaultServerProviderChain();
            }
            ;

            // Collect the rest of the channel data:
            IServerChannelSinkProvider provider = _serverSinkProvider;

            while (provider != null)
            {
                provider.GetChannelData(_data);
                provider = provider.Next;
            }

            IServerChannelSink next = ChannelServices.CreateServerChannelSinkChain(_serverSinkProvider, this);

            _transportSink = new PipeServerTransportSink(next);

            StartListening(null);
        }
        internal void InitProviders(IServerChannelSinkProvider serverProviderChain)
        {
            _listener = null;
            _event = new AutoResetEvent(false);

            _data = new ChannelDataStore(null);
            _data.ChannelUris = new String[1];
            _data.ChannelUris[0] = ChannelScheme + "://" + m_pipeName;

            _serverSinkProvider = serverProviderChain;

            // Create the default sink chain if one was not passed in
            if (_serverSinkProvider == null)
                _serverSinkProvider = CreateDefaultServerProviderChain();;

            // Collect the rest of the channel data:
            IServerChannelSinkProvider provider = _serverSinkProvider;
            while(provider != null)
            {
                provider.GetChannelData(_data);
                provider = provider.Next;
            }

            IServerChannelSink next = ChannelServices.CreateServerChannelSinkChain(_serverSinkProvider, this);
            _transportSink = new PipeServerTransportSink(next);

            StartListening(null);
        }