private void StartiFolder() { bool simiasRunning = false; CurrentState = iFolderState.Starting; iFolderStateChanged.WakeupMain(); if(ifws == null) { simiasManager.Start(); string localServiceUrl = simiasManager.WebServiceUri.ToString(); ifws = new iFolderWebService(); ifws.Url = localServiceUrl + "/iFolder.asmx"; LocalService.Start(ifws, simiasManager.WebServiceUri, simiasManager.DataPath); simws = new SimiasWebService(); simws.Url = localServiceUrl + "/Simias.asmx"; LocalService.Start(simws, simiasManager.WebServiceUri, simiasManager.DataPath); while(!simiasRunning) { try { ifws.Ping(); simiasRunning = true; } catch(Exception e) { simiasRunning = false; } System.Threading.Thread.Sleep(10); } try { simiasEventBroker = SimiasEventBroker.GetSimiasEventBroker(); ifdata = iFolderData.GetData(); domainController = DomainController.GetDomainController(); } catch(Exception e) { Console.WriteLine(e); ifws = null; } } CurrentState = iFolderState.Running; iFolderStateChanged.WakeupMain(); }
private void StartiFolder() { bool simiasRunning = false; CurrentState = iFolderAppState.Starting; iFolderAppStateChanged.WakeupMain(); { simiasManager.Start(); string localServiceUrl = simiasManager.WebServiceUri.ToString(); ifws = new iFolderWebService(); ifws.Url = localServiceUrl + "/iFolder.asmx"; LocalService.Start(ifws, simiasManager.WebServiceUri, simiasManager.DataPath); simws = new SimiasWebService(); simws.Url = localServiceUrl + "/Simias.asmx"; LocalService.Start(simws, simiasManager.WebServiceUri, simiasManager.DataPath); while(!simiasRunning) { try { ifws.Ping(); simiasRunning = true; } catch(Exception) { simiasRunning = false; } if (forceShutdown) { QuitiFolder(); return; } System.Threading.Thread.Sleep(10); } LogInit(simiasManager.DataPath); if (forceShutdown) QuitiFolder(); else { try { simiasEventBroker = SimiasEventBroker.GetSimiasEventBroker(); ifdata = iFolderData.GetData(); domainController = DomainController.GetDomainController(); } catch(Exception e) { Debug.PrintLine(e.Message); ifws = null; } } } CleanUpPassphrase(); CurrentState = iFolderAppState.Running; iFolderAppStateChanged.WakeupMain(); }
///<summary> /// Start Simias ///</summary> ///<param name="args">Array of strings as arguments</param> public static void StartSimias(string[] args) { bool simiasRunning = false; simiasManager = Util.CreateSimiasManager(args); simiasManager.Start(); string localServiceUrl = simiasManager.WebServiceUri.ToString(); ifws = new iFolderWebService(); ifws.Url = localServiceUrl + "/iFolder.asmx"; LocalService.Start(ifws, simiasManager.WebServiceUri, simiasManager.DataPath); simws = new SimiasWebService(); simws.Url = localServiceUrl + "/Simias.asmx"; LocalService.Start(simws, simiasManager.WebServiceUri, simiasManager.DataPath); while (!simiasRunning) { try { ifws.Ping(); simiasRunning = true; } catch (Exception e) { Console.WriteLine(e.Message); } if (forceShutdown) { ForceQuit(); } // Wait and ping again System.Threading.Thread.Sleep(10); } if (forceShutdown) { ForceQuit(); } else { try { simiasEventBroker = SimiasEventBroker.GetSimiasEventBroker(); // set up to have data ready for events ifdata = iFolderData.GetData(); domainController = DomainController.GetDomainController(); } catch (Exception e) { Console.WriteLine(e); ifws = null; ForceQuit(); } } }