Example #1
0
        public static bool ExtractCertificate(string dstfile)
        {
            string text = DispatchAPI.sCodebase;

            text += dstfile;
            try
            {
                if (File.Exists(text))
                {
                    DateTime lastWriteTime  = File.GetLastWriteTime(Assembly.GetExecutingAssembly().Location);
                    DateTime lastWriteTime2 = File.GetLastWriteTime(text);
                    if (lastWriteTime <= lastWriteTime2)
                    {
                        bool result = true;
                        return(result);
                    }
                    File.Delete(text);
                }
                MemoryStream memoryStream = new MemoryStream(Resources.MonitorServers);
                if (memoryStream == null)
                {
                    bool result = false;
                    return(result);
                }
                FileStream fileStream = File.Open(text, FileMode.CreateNew);
                if (fileStream == null)
                {
                    memoryStream.Dispose();
                    bool result = false;
                    return(result);
                }
                DispatchAPI.CopyStream(memoryStream, fileStream);
                memoryStream.Close();
                fileStream.Close();
                memoryStream.Dispose();
                fileStream.Dispose();
            }
            catch (Exception)
            {
                bool result = false;
                return(result);
            }
            return(true);
        }
Example #2
0
        public static bool StartDispatcher(int port, bool useSSL = true)
        {
            bool result;

            lock (DispatchAPI._lockDispatch)
            {
                try
                {
                    DispatchAPI._isServerRole = true;
                    if (port == 0)
                    {
                        DispatchAPI._localConnection = true;
                    }
                    else
                    {
                        DispatchAPI.ExtractCertificate("MonitorServers.pfx");
                    }
                    SessionAPI.StartSessionManager();
                    DispatchAPI._ecoHandler = new EcoHandler();
                    DispatchAPI._ecoHandler.Start(true);
                    DeviceInfo.cbOnDBUpdated          = new DeviceInfo.DelegateOnDbUpdate(DispatchAPI._ecoHandler.OnReloadDBData);
                    DevAccessCfg._cbOnAutoModeUpdated = new DevAccessCfg.DelegateOnAutoModeUpdate(DispatchAPI._ecoHandler.OnAutoDiscovery);
                    bool flag2 = ServicesAPI.StartEcoService(useSSL, port, DispatchAPI._ecoHandler);
                    result = flag2;
                }
                catch (Exception ex)
                {
                    Common.WriteLine("StartDispatcher: {0}", new string[]
                    {
                        ex.Message
                    });
                    result = false;
                }
            }
            return(result);
        }