コード例 #1
0
        private void CreateFileWatcher(SettingsType a_SettingsType)
        {
            try
            {
                string _Path = EnumeratorParser.GetStringValue(a_SettingsType);
                if (a_SettingsType.Equals(SettingsType.TraneObjectMaps))
                {
                    _FullPath = string.IsNullOrEmpty(ConfigurationManager.AppSettings["TraneObjectMapFolder"]) ? Path.Combine(@"C:\SPGateway\Metadata\", _Path) : ConfigurationManager.AppSettings["TraneObjectMapFolder"] + _Path;
                }
                else
                {
                    _FullPath = string.IsNullOrEmpty(ConfigurationManager.AppSettings["PersistenceDirectory"]) ? Path.Combine(@"C:\SPGateway\Settings\", _Path) : ConfigurationManager.AppSettings["PersistenceDirectory"] + _Path;
                }

                _FileDirectory = Path.GetDirectoryName(_FullPath);
                _Filter        = Path.GetFileName(_FullPath);
                FileSystemWatcher a_FileWatcher = new FileSystemWatcher(_FileDirectory, _Filter);
                a_FileWatcher.NotifyFilter        = NotifyFilters.LastWrite;
                a_FileWatcher.Changed            += _FileChanged_Event;
                a_FileWatcher.EnableRaisingEvents = true;
            }
            catch (Exception ex)
            {
                if (_Logger != null)
                {
                    _Logger.LogIf(COMPONENT_NAME, TraceLevel.Error, ex);
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Intialize the corresponding file system watcher.
        /// </summary>
        private void Intialize()
        {
            foreach (SettingsType a_SettingType in Enum.GetValues(typeof(SettingsType)))
            {
                try
                {
                    _FullPath      = EnumeratorParser.GetStringValue(a_SettingType);
                    _FileDirectory = Path.GetDirectoryName(_FullPath);
                    _Filter        = Path.GetFileName(_FullPath);

                    switch (a_SettingType)
                    {
                    case SettingsType.GatewayLogSettings:
                    case SettingsType.MessageRouterSettings:
                    case SettingsType.SiteManagerSettings:
                    case SettingsType.TunnelManagerSettings:
                    case SettingsType.DataOffloaderServiceEndpoints:
                    case SettingsType.TraneObjectMaps:
                        CreateFileWatcher(a_SettingType);
                        break;

                    case SettingsType.DataCollectionConfiguration:
                        CreateDirectoryWatcher();
                        break;

                    default:
                        ////Do nothing here,jus handled for default, for future case.
                        break;
                    }
                }
                catch (Exception ex)
                {
                    if (_Logger != null)
                    {
                        _Logger.LogIf(COMPONENT_NAME, TraceLevel.Error, ex);
                    }
                }
            }
        }