示例#1
0
        internal static EventQueueConfiguration GetConfig()
        {
            var config = (EventQueueConfiguration)DataCache.GetCache("EventQueueConfig");

            if ((config == null))
            {
                string filePath = Globals.HostMapPath + "EventQueue\\EventQueue.config";
                if (File.Exists(filePath))
                {
                    config = new EventQueueConfiguration();
                    //Deserialize into EventQueueConfiguration
                    config.Deserialize(FileSystemUtils.ReadFile(filePath));
                    //Set back into Cache
                    DataCache.SetCache("EventQueueConfig", config, new DNNCacheDependency(filePath));
                }
                else
                {
                    //make a default config file
                    config = new EventQueueConfiguration();
                    config.PublishedEvents       = new Dictionary <string, PublishedEvent>();
                    config.EventQueueSubscribers = new Dictionary <string, SubscriberInfo>();
                    var subscriber = new SubscriberInfo("DNN Core");
                    RegisterEventSubscription(config, "Application_Start", subscriber);
                    RegisterEventSubscription(config, "Application_Start_FirstRequest", subscriber);
                    SaveConfig(config, filePath);
                }
            }
            return(config);
        }
示例#2
0
        internal static void SaveConfig(EventQueueConfiguration config, string filePath)
        {
            StreamWriter oStream = File.CreateText(filePath);

            oStream.WriteLine(config.Serialize());
            oStream.Close();
            //Set back into Cache
            DataCache.SetCache("EventQueueConfig", config, new DNNCacheDependency(filePath));
        }
 public static void RegisterEventSubscription(EventQueueConfiguration config, string eventname, SubscriberInfo subscriber)
 {
     var e = new PublishedEvent();
     e.EventName = eventname;
     e.Subscribers = subscriber.ID;
     config.PublishedEvents.Add(e.EventName, e);
     if (!config.EventQueueSubscribers.ContainsKey(subscriber.ID))
     {
         config.EventQueueSubscribers.Add(subscriber.ID, subscriber);
     }
 }
示例#4
0
        public static void RegisterEventSubscription(EventQueueConfiguration config, string eventname, SubscriberInfo subscriber)
        {
            var e = new PublishedEvent();

            e.EventName   = eventname;
            e.Subscribers = subscriber.ID;
            config.PublishedEvents.Add(e.EventName, e);
            if (!config.EventQueueSubscribers.ContainsKey(subscriber.ID))
            {
                config.EventQueueSubscribers.Add(subscriber.ID, subscriber);
            }
        }
        public static EventQueueConfiguration GetConfig()
        {
            EventQueueConfiguration config = (EventQueueConfiguration)DataCache.GetCache("EventQueueConfig");

            if (config == null)
            {
                string filePath = Globals.HostMapPath + "EventQueue\\EventQueue.config";
                if (File.Exists(filePath))
                {
                    config = new EventQueueConfiguration();
                    // Deserialize into EventQueueConfiguration
                    StreamReader oStreamReader = File.OpenText(filePath);
                    config.Deserialize(oStreamReader.ReadToEnd());
                    oStreamReader.Close();
                }
                else
                {
                    //make a default config file
                    SubscriberInfo si = new SubscriberInfo("DNN Core");
                    PublishedEvent e = new PublishedEvent();
                    e.EventName = "Application_Start";
                    e.Subscribers = si.ID.ToString();
                    config = new EventQueueConfiguration();
                    config.PublishedEvents = new PublishedEvents();
                    config.PublishedEvents.Add(e);
                    config.EventQueueSubscribers = new EventQueueSubscribers();
                    config.EventQueueSubscribers.Add(si);
                    StreamWriter oStream = File.CreateText(filePath);
                    oStream.WriteLine(config.Serialize());
                    oStream.Close();
                }
                if (File.Exists(filePath))
                {
                    // Create a dependency on the config file
                    CacheDependency dep = new CacheDependency(filePath);

                    // Set back into Cache
                    DataCache.SetCache("EventQueueConfig", config, dep);
                }
            }

            return config;
        }
示例#6
0
        public static EventQueueConfiguration GetConfig()
        {
            EventQueueConfiguration config = (EventQueueConfiguration)DataCache.GetCache("EventQueueConfig");

            if (config == null)
            {
                string filePath = Globals.HostMapPath + "EventQueue\\EventQueue.config";
                if (File.Exists(filePath))
                {
                    config = new EventQueueConfiguration();
                    // Deserialize into EventQueueConfiguration
                    StreamReader oStreamReader = File.OpenText(filePath);
                    config.Deserialize(oStreamReader.ReadToEnd());
                    oStreamReader.Close();
                }
                else
                {
                    //make a default config file
                    SubscriberInfo si = new SubscriberInfo("DNN Core");
                    PublishedEvent e  = new PublishedEvent();
                    e.EventName            = "Application_Start";
                    e.Subscribers          = si.ID.ToString();
                    config                 = new EventQueueConfiguration();
                    config.PublishedEvents = new PublishedEvents();
                    config.PublishedEvents.Add(e);
                    config.EventQueueSubscribers = new EventQueueSubscribers();
                    config.EventQueueSubscribers.Add(si);
                    StreamWriter oStream = File.CreateText(filePath);
                    oStream.WriteLine(config.Serialize());
                    oStream.Close();
                }
                if (File.Exists(filePath))
                {
                    // Create a dependency on the config file
                    CacheDependency dep = new CacheDependency(filePath);

                    // Set back into Cache
                    DataCache.SetCache("EventQueueConfig", config, dep);
                }
            }

            return(config);
        }
 internal static void SaveConfig(EventQueueConfiguration config, string filePath)
 {
     StreamWriter oStream = File.CreateText(filePath);
     oStream.WriteLine(config.Serialize());
     oStream.Close();
     //Set back into Cache
     DataCache.SetCache("EventQueueConfig", config, new DNNCacheDependency(filePath));
 }
        internal static EventQueueConfiguration GetConfig()
        {
            var config = (EventQueueConfiguration) DataCache.GetCache("EventQueueConfig");
            if ((config == null))
            {
                string filePath = Globals.HostMapPath + "EventQueue\\EventQueue.config";
                if (File.Exists(filePath))
                {
                    config = new EventQueueConfiguration();
                    //Deserialize into EventQueueConfiguration
                    config.Deserialize(FileSystemUtils.ReadFile(filePath));
                    //Set back into Cache
                    DataCache.SetCache("EventQueueConfig", config, new DNNCacheDependency(filePath));
                }
                else
                {
					//make a default config file
                    config = new EventQueueConfiguration();
                    config.PublishedEvents = new Dictionary<string, PublishedEvent>();
                    config.EventQueueSubscribers = new Dictionary<string, SubscriberInfo>();
                    var subscriber = new SubscriberInfo("DNN Core");
                    RegisterEventSubscription(config, "Application_Start", subscriber);
                    RegisterEventSubscription(config, "Application_Start_FirstRequest", subscriber);
                    SaveConfig(config, filePath);
                }
            }
            return config;
        }