Exemple #1
0
        public void Start()
        {
            TraceLog.WriteLineInfo("Privileges ajusting...");
            bool succeed = PrivilegeEngine.SetProcessPrivileges(Process.GetCurrentProcess().Id,
                                                                PrivilegeEngine.SE_ASSIGNPRIMARYTOKEN_NAME,
                                                                PrivilegeEngine.SE_INCREASE_QUOTA_NAME,
                                                                PrivilegeEngine.SE_TCB_NAME);

            TraceLog.WriteLineInfo("Privileges ajusted: " + succeed);

            TraceLog.WriteLineInfo("Record Service is starting...");
            _tasks = new PeriodTask(1000);
            _tasks.AddTask(Global.Tasks.UpdateConfigurations, this.UpdateConfigurations, null, 60, 0);
            _tasks.AddTask(Global.Tasks.RecordingSessions, this.RecordingSessions, null, 5, 10);

            //_tasks.AddTask("License", this.UpdateLicenseInfo, 60 * 60, 0);
            //_tasks.AddTask("Configuration", this.UpdateConfigurationFile, 60, 0);
            //_tasks.AddTask("Session", this.ScanWinSessionsToRecordOrEnd, 2, 10);
            //_tasks.AddTask("Storage", StorageEngine.ScanAndStoreCacheFiles, 5, 15);
            //_tasks.AddTask("Restrict", StorageEngine.ScanAndRestrictLocalStore, 60 * 60, 60 * 60);
            _tasks.Start();
            TraceLog.WriteLineInfo("Record Service is started.");
        }
        public void Start()
        {
            TraceLogger.Instance.WriteLineInfo("Privileges ajusting...");
            bool succeed = WTSEngine.SetProcessPrivileges(Process.GetCurrentProcess().Id,
                                                          bfbd.WindowsAPI.WTS.NtPrivileges.SE_ASSIGNPRIMARYTOKEN_NAME,
                                                          bfbd.WindowsAPI.WTS.NtPrivileges.SE_INCREASE_QUOTA_NAME,
                                                          bfbd.WindowsAPI.WTS.NtPrivileges.SE_TCB_NAME);

            TraceLogger.Instance.WriteLineInfo("Privileges ajusted: " + succeed);

            TraceLogger.Instance.WriteLineInfo("Record Service is starting...");
            _tasks = new PeriodTask(1000);
            _tasks.AddTask("License", this.UpdateLicenseInfo, 60 * 60, 0);
            _tasks.AddTask("Configuration", this.UpdateConfigurationFile, 60, 0);
            _tasks.AddTask("Session", this.ScanWinSessionsToRecordOrEnd, 2, 10);
            _tasks.AddTask("Storage", StorageEngine.ScanAndStoreCacheFiles, 5, 15);
            _tasks.AddTask("Restrict", StorageEngine.ScanAndRestrictLocalStore, 60 * 60, 60 * 60);
            _tasks.AddTask("AccessPolicy", this.UpdateWebAccessPolicy, 60, 0);
            _tasks.Start();
            TraceLogger.Instance.WriteLineInfo("Record Service is started.");

            if (Global.Config.AdminWebPort > 80)
            {
                try
                {
                    TraceLogger.Instance.WriteLineInfo("Admin Service is starting...");
                    _adminWeb = new Server.AdminServiceCore();
                    _adminWeb.Start();
                    TraceLogger.Instance.WriteLineInfo("Admin Service is started.");
                }
                catch (Exception ex)
                {
                    TraceLogger.Instance.WriteException(ex);
                    _adminWeb = null;
                }
            }
        }