public MonitoringForModule(string machineName, string moduleName)
        {
            if (string.IsNullOrEmpty(machineName))
            {
                throw new ArgumentNullException("machineName");
            }
            if (string.IsNullOrEmpty(moduleName))
            {
                throw new ArgumentNullException("moduleName");
            }

            MachineName   = machineName;
            ModuleName    = moduleName;
            ComponentName = moduleName;

            // Get monitoring storage and notifies.
            _storage     = ModuleContainer.Container.GetInstance <IMonitoringStorage>();
            _notify      = ModuleContainer.Container.GetInstance <IMonitoringNotify>();
            _notifyEmail = ModuleContainer.Container.GetInstance <IMonitoringNotifyEmail>();
            _notifySms   = ModuleContainer.Container.GetInstance <IMonitoringNotifySms>();

            // Prepare monitoring name.
            var name = "Monitoring-" + Interlocked.Increment(ref _asyncMonitoringCount);

            // Create and start monitoring processing queue.
            _monitoringQueue             = new AsyncQueueBlocking <MonitoringItem>(name, BlockType.Grow);
            _monitoringQueue.HandleItem += Store;
            _monitoringQueue.StartProcessing();
        }
 public MonitoringController(IMonitoringStorage monitoringStorage)
 {
     _monitoringStorage = monitoringStorage;
 }
 public MonitoringController(IMonitoringStorage monitoringStorage)
 {
     _monitoringStorage = monitoringStorage;
 }