コード例 #1
0
 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();
 }
コード例 #2
0
 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();
 }
コード例 #3
0
        ///<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();
                }
            }
        }