private void StopiFolder() { CurrentState = iFolderAppState.Stopping; iFolderAppStateChanged.WakeupMain(); try { if(simiasEventBroker != null) simiasEventBroker.Deregister(); } catch(Exception e) { Debug.PrintLine(e.Message); } CurrentState = iFolderAppState.Stopped; iFolderAppStateChanged.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(); }