using Microsoft.Owin.Hosting; using Step.UI; using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Threading; using System.Web; using TeamDev.SDK; using TeamDev.SDK.MVVM; namespace Step { public class Application { public static readonly ManualResetEvent StopRequest = new ManualResetEvent(false); public static int MessageService { get; private set; } public static void Main() { // Avvio dell'applicazione in selfhost var configuredUri = ConfigurationManager.AppSettings["localHostServiceURI"]; ServerControlWindow.Start(); // Registro il messaggi di chiusura della applicazione. MessageServices.Current.Subscribe("StopServer", (a, b) => { Application.StopRequest.Set(); }); // Creo la finestra lato server che verrą visualizzata sulla SysTray // Avvio il servizio del server. using (WebApp.Start(url: configuredUri)) { StopRequest.WaitOne(); } ServerControlWindow.Stop(); } } }