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; } }
public void Stop() { if (Listerner == null || ListernerThread == null || IsDisposed) { return; } ListernerThread.Abort(); Listerner.Stop(); Trace.WriteLine(ListernerThread.Name + " stopped."); }
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."); }