/// <summary> /// The constructor is private so that only the class itself can create an instance. /// </summary> private ServerSettings() { appName = "CrawlWave.Server"; log = new SystemEventLogger(appName); logLevel = CWLogLevel.LogError; // by default assume only errors must be logged dbLogOptions = CWClientActions.LogNothing; //by default assume it's a production rel. dataFilesPath = String.Empty; connectionString = String.Empty; LoadSettings(); robots = RobotsCache.Instance(); robots.DBConnectionString = ProvideConnectionString(); }
/// <summary> /// Provides a global access point for the single instance of the <see cref="RobotsCache"/> /// class. /// </summary> /// <returns>A reference to the single instance of <see cref="RobotsCache"/>.</returns> public static RobotsCache Instance() { if (instance == null) { //Make sure the call is thread-safe. Mutex mutex = new Mutex(); mutex.WaitOne(); if (instance == null) { instance = new RobotsCache(); } mutex.Close(); } return(instance); }
/// <summary> /// Constructs a new instance of the <see cref="CrawlWave.ServerPlugins.UrlSelection.UrlSelectorPlugin"/> class. /// </summary> public UrlSelectorPlugin() { dataDependent = true; description = "CrawlWave Url Selection Plugin"; enabled = true; host = null; name = "CrawlWave.ServerPlugins.UrlSelection"; percent = 0; settingsPath = String.Empty; state = PluginState.Stopped; version = Assembly.GetExecutingAssembly().GetName().Version.ToString(); settings = PluginSettings.Instance(); dbcon = new SqlConnection(settings.DBConnectionString); pluginThread = null; mustStop = false; banned = BannedHostsCache.Instance(); robots = RobotsCache.Instance(); }
/// <summary> /// Provides a global access point for the single instance of the <see cref="RobotsCache"/> /// class. /// </summary> /// <returns>A reference to the single instance of <see cref="RobotsCache"/>.</returns> public static RobotsCache Instance() { if (instance == null) { //Make sure the call is thread-safe. Mutex mutex = new Mutex(); mutex.WaitOne(); if (instance == null) { instance = new RobotsCache(); } mutex.Close(); } return instance; }