Esempio n. 1
0
 /// <summary>
 /// todo; requires some more testing
 /// </summary>
 public static void StopServer()
 {
     if (server.IsListening)
     {
         Trace.Write("Attempting to stop the server .... ");
         server.ThreadSafeStop();
         server.Stop();
         Trace.Write(".. Stopped!");
     }
 }
        public MelBoxWeb(int port)
        {
            using (var server = new RestServer())
            {
                server.Port = PortFinder.FindNextLocalOpenPort(port);
                //server.UseHttps = true;
                server.LogToConsole(Grapevine.Interfaces.Shared.LogLevel.Warn).Start();
                Console.WriteLine("WebHost:\thttp://" + server.Host + ":" + server.Port);

                stopWebServer.WaitOne();
                server.LogToConsole().Stop();
                server.ThreadSafeStop();
            }
        }
        public void StopsServer()
        {
            var stopped = new ManualResetEvent(false);
            var port    = PortFinder.FindNextLocalOpenPort(1234);

            using (var server = new RestServer {
                Port = port
            })
            {
                server.OnAfterStop += () => { stopped.Set(); };

                server.Start();
                server.IsListening.ShouldBeTrue();
                server.ListenerPrefix.ShouldBe($"http://localhost:{port}/");

                server.ThreadSafeStop();
                stopped.WaitOne(300, false);

                server.IsListening.ShouldBeFalse();
            }
        }
Esempio n. 4
0
            public void StopsServer()
            {
                const int maxTicksToStop = 300;
                var       port           = PortFinder.FindNextLocalOpenPort();
                var       ticksToStop    = 0;

                using (var server = new RestServer {
                    Connections = 1, Port = port
                })
                {
                    server.Start();
                    server.IsListening.ShouldBeTrue();
                    server.ListenerPrefix.ShouldBe($"http://localhost:{port}/");
                    server.ThreadSafeStop();
                    while (server.IsListening && ticksToStop <= maxTicksToStop)
                    {
                        ticksToStop += 1;
                        Thread.Sleep(10);
                    }

                    server.IsListening.ShouldBeFalse();
                }
            }