Beispiel #1
0
        protected virtual void Dispose(Boolean disposing)
        {
            if (IsDisposed || !disposing)
            {
                return;
            }

            try
            {
                if (ListernerThread != null)
                {
                    ListernerThread.Abort();

                    Trace.WriteLine(ListernerThread.Name + " disposed.");
                }

                if (Listerner != null)
                {
                    Listerner.Stop();
                    Listerner.Close();
                }

                IsDisposed = true;
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex);
            }
            finally
            {
                IsDisposed = true;
            }
        }
Beispiel #2
0
        public void Stop()
        {
            if (Listerner == null || ListernerThread == null || IsDisposed)
            {
                return;
            }

            ListernerThread.Abort();
            Listerner.Stop();

            Trace.WriteLine(ListernerThread.Name + " stopped.");
        }
Beispiel #3
0
        public void Start()
        {
            if (Listerner != null && Listerner.IsListening)
            {
                return;
            }

            Listerner = CreateListener();

            ListernerThread = new Thread(obj =>
            {
                HttpListener http = (HttpListener)obj;
                Run(http);
            });
            ListernerThread.Name         = "HttpServer:" + this.Port;
            ListernerThread.IsBackground = true;

            Listerner.Start();
            ListernerThread.Start(this.Listerner);
            IsDisposed = false;
            Trace.WriteLine(ListernerThread.Name + " started.");
        }