public static StatusPageIOConfigurationList Load(String filename)
 {
     try
     {
         XmlSerializer serializer = new XmlSerializer(typeof(StatusPageIOConfigurationList));
         using (StreamReader streamReader = new StreamReader(filename))
         {
             StatusPageIOConfigurationList loadedItem = (StatusPageIOConfigurationList)serializer.Deserialize(streamReader);
             return(loadedItem);
         }
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
        public StatusPageIO()
        {
            string     codeBase = Assembly.GetExecutingAssembly().CodeBase;
            UriBuilder uri      = new UriBuilder(codeBase);
            string     path     = Uri.UnescapeDataString(uri.Path);

            configPath = Path.GetDirectoryName(path);
            string absPath = Path.Combine(configPath, "StatusPage.xml");

            // load configuration
            ConfigurationItemList = StatusPageIOConfigurationList.Load(absPath);

            if (ConfigurationItemList == null)
            {
                // create a new configuration
                ConfigurationItemList = new StatusPageIOConfigurationList();
                ConfigurationItemList.Configurations.Add(new StatusPageIOConfiguration());
                ConfigurationItemList.Save(absPath);
            }
        }