示例#1
0
 public Reporter(string serviceName, StoragesInfo storagesInfo, EMailSender sender, TimeSpan time)
 {
     this.serviceName = serviceName;
     this.storagesInfo = storagesInfo;
     this.sender = sender;
     this.time = time;
 }
        /// <summary>
        /// Creates and initializes a service watcher.
        /// </summary>
        /// <param name="serviceName"></param>
        /// <param name="args"></param>
        /// <param name="sender"></param>
        /// <returns></returns>
        private static Watcher CreateServiceWatcher(
            string serviceName,
            OnStartServiceArgs args,
            EMailSender sender)
        {
            if (args.Settings["watcher"] == null)
            {
                throw new ArgumentNullException("watcher");
            }

            // Auto-restart enabled (required)
            string autoRestartEnabledStr = args.Settings["watcher"].Parameters["autoStartEnabled"].Trim();
            if (autoRestartEnabledStr == null)
            {
                throw new ArgumentNullException("autoStartEnabled");
            }
            bool autoStartEnabled = Convert.ToBoolean(autoRestartEnabledStr);

            return new Watcher(serviceName, args.IsDebugMode, autoStartEnabled, sender);
        }
        /// <summary>
        /// Creates and initializes a reporter.
        /// </summary>
        /// <param name="serviceName"></param>
        /// <param name="args"></param>
        /// <param name="storagesInfo"></param>
        /// <param name="sender"></param>
        /// <returns></returns>
        private static Reporter CreateReporter(
            string serviceName,
            OnStartServiceArgs args,
            StoragesInfo storagesInfo,
            EMailSender sender)
        {
            if (args.Settings["reporter"] == null)
            {
                throw new ArgumentNullException("reporter");
            }

            // Time (required)
            string time = args.Settings["reporter"].Parameters["time"].Trim();
            if (time == null)
            {
                throw new ArgumentNullException("time");
            }
            TimeSpan timeSpan = TimeSpan.Parse(time);

            return new Reporter(serviceName, storagesInfo, sender, timeSpan);
        }
示例#4
0
        public Watcher(string serviceName, bool isDebugMode, bool autoStartEnabled, EMailSender sender)
        {
            this.managedServiceName = serviceName;
            this.isDebugMode = isDebugMode;
            this.configAutoRestartEnabled = autoStartEnabled;
            this.runtimeAutoRestartEnabled = autoStartEnabled;
            this.emailSender = sender;

            if (isDebugMode)
            {
                TraceLog.Warning("Watcher is disabled in debug mode.");
            }
        }