示例#1
0
        private IListenerConfigurator getListenerConfigurator(string type)
        {
            if (_log.Enabled)
            {
                _log.Debug(GetHashCode(), "getListenerConfigurator");
            }

            IListenerConfigurator ret = null;

            switch (type)
            {
            case "":
                break;

            case "UdpListener":
                ret = new ListenerConfigurator((ListenerBase) new UdpListener(), _session);
                break;

            case "TcpListener":
                ret = new ListenerConfigurator((ListenerBase) new TcpListenerBase(), _session);
                break;

            case "EventLogListener":
                ret = new EventLogListenerConfigurator();
                break;

            case "FileListener":
                ret = new ListenerConfigurator(new FileListener(), _session);
                break;

            case "FolderListener":
                ret = new ListenerConfigurator(new FolderListener(), _session);
                break;

            case "SqlListener":
                ret = new SqlListenerConfigurator();
                break;

            case "RssListener":
                ret = new ListenerConfigurator(new RssListener(), _session);
                break;

            case "StdOutListener":
                ret = new ListenerConfigurator(new StdOutListener(), _session);
                break;

            case "ComPortListener":
                ret = new ListenerConfigurator(new ComPortListener(), _session);
                break;

            case "MySqlListener":
                ret = new MySqlListenerConfigurator();
                break;

            default:
                throw new NotImplementedException(type);
            }
            return(ret);
        }
示例#2
0
        public HttpListenerObservable(Action <IHttpListenerConfigurator> configuratorCallback, ILogger logger) : base(logger)
        {
            if (!HttpListener.IsSupported)
            {
                throw new NotSupportedException("Needs Windows XP SP2, Server 2003 or later");
            }

            if (configuratorCallback == null)
            {
                throw new ArgumentNullException($"{nameof(configuratorCallback)} should not be null");
            }

            _logger = logger;

            _listener = new HttpListener();
            using (var config = new ListenerConfigurator(_listener))
                configuratorCallback(config);
        }