StorytellerDocGen.DocProject.LaunchRunner C# (CSharp) Метод

LaunchRunner() публичный Метод

public LaunchRunner ( ) : IDisposable
Результат IDisposable
        public IDisposable LaunchRunner()
        {
            var middleware = new TopicMiddleware(this, _container.GetInstance<IHtmlGenerator>(), _settings);
            var webSockets = new WebSocketsHandler();
            _refresher = new BrowserRefresher(webSockets);

            var port = PortFinder.FindPort(5000);


            _settings.WebsocketAddress = $"ws://localhost:{port}";


            _container.Inject<IBrowserRefresher>(_refresher);
            StartScanning();

            var host = startHost(port, webSockets, middleware);

            _topicWatcher = new TopicFileWatcher(_settings, this);


            _topicWatcher.StartWatching(_refresher);

            return host;
        }

Usage Example

        public override bool Execute(DocInput input)
        {
            var settings = input.ToSettings();

            using (var project = new DocProject(settings))
            {
                using (var server = project.LaunchRunner())
                {
                    ProcessLauncher.GotoUrl(project.BaseAddress);


                    tellUsersWhatToDo(project.BaseAddress);
                    ConsoleKeyInfo key = Console.ReadKey();
                    while (key.Key != ConsoleKey.Q)
                    {
                        Console.WriteLine();
                        Console.WriteLine("Shutting down the Storyteller documentation preview runner....");
                        Console.WriteLine();
                    }
                }
            }

            return(true);
        }