protected override void OnInitialized() { Log.LogInformation("-> Configure.OnInitialized"); if (Program.ClockToConfigure == null) { Nav.NavigateTo("/"); return; } Host = Program.ClockToConfigure.Host; Clock = Program.ClockToConfigure.CurrentClock; Host.UpdateUi += HandlerUpdateUi; Host.RequestRefresh += HandlerRequestRefresh; CurrentClockMessage = Program.ClockToConfigure.CurrentClock.Message; CurrentEditContext = new EditContext(CurrentClockMessage); CurrentEditContext.OnValidationStateChanged += CurrentEditContextOnValidationStateChanged; Log.LogInformation("OnInitialized ->"); }
static void Main() { log.Info("Entering Application"); IUnityContainer container = new UnityContainer(); IDictionary <string, object> mainOjectMap; MainObjectBuilder mainObjectBuilder = new MainObjectBuilder(container); mainOjectMap = mainObjectBuilder.BuildMainObject(); AutoMapBuilder autoMapBuilder = new AutoMapBuilder(); autoMapBuilder.BuildAutoMap(); HostConfiguration config = new HostConfiguration { UrlReservations = { CreateAutomatically = true } }; log.Info("Open Connection to Server"); Uri uri = new Uri("http://localhost:2202"); NancyHost host; try { host = new NancyHost(new CustomNancyBootstrapper(container), config, uri); } catch (Exception e) { throw e; } var signalRHostBaseAddress = "http://+:8885"; SignalRHost <Startup> signalRHost = SignalRHostBuilder <Startup> .BuildSignalRHost(signalRHostBaseAddress); try { log.Info("Starting Server Host"); host.Start(); Console.WriteLine($"Server is up : {uri.AbsoluteUri}"); signalRHost.Open(); Console.WriteLine(string.Format("Host Connection opened at: {0}", signalRHostBaseAddress)); // example how to broadcast message to specific connection id //var context = GlobalHost.ConnectionManager.GetHubContext<MonitorHub>(); //context.Clients.Client("connection id").addMessage("message"); // read active connections every 5 seconds Thread readConnectionThread = new Thread(ReadConnections); readConnectionThread.Start(); Console.ReadLine(); } catch (Exception e) { Console.WriteLine(e.StackTrace); } finally { host.Stop(); signalRHost.Close(); Console.WriteLine(string.Format("SignalR Host closed: {0}", signalRHostBaseAddress)); } }
protected override async Task OnInitializedAsync() { Log.LogInformation("-> Host.OnInitializedAsync"); #if !DEBUG if (Branding.MustAuthorize) { var authState = await AuthenticationStateTask; if (authState == null || authState.User == null || authState.User.Identity == null || !authState.User.Identity.IsAuthenticated) { Log.LogWarning("Unauthenticated"); return; } } #endif if (Program.ClockToConfigure == null) { Handler = new SignalRHost( Config, LocalStorage, Log, Http, Nav, Session); } else { Handler = Program.ClockToConfigure.Host; Program.ClockToConfigure.Host = null; } Log.LogTrace("Check authorization"); await Handler.CheckAuthorize(); if (Handler.IsAuthorized != null && !Handler.IsAuthorized.Value) { Log.LogError("No authorization"); return; } else if (!Handler.IsConnected && Handler.IsInError) { Log.LogError("Offline"); return; } if (Branding.AllowSessionSelection) { await Handler.CheckState(); } Handler.UpdateUi += HandlerUpdateUi; Handler.RequestRefresh += HandlerRequestRefresh; await Handler.Connect(); }