Esempio n. 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DdlProviders.Items.Clear();

                BlogProviderSection    section   = (BlogProviderSection)WebConfigurationManager.GetSection("BlogEngine/blogProvider");
                BlogProviderCollection providers = new BlogProviderCollection();
                ProvidersHelper.InstantiateProviders(section.Providers, providers, typeof(BlogProvider));
                List <Blog> blogs = BlogService.Provider.FillBlogs();

                foreach (Blog blog in blogs)
                {
                    DdlBlogs.Items.Add(new ListItem(blog.Name, blog.Id.ToString()));
                }

                foreach (BlogProvider provider in providers)
                {
                    // Don't add the current provider in use, that would be messy.
                    if (provider.Name != section.DefaultProvider)
                    {
                        DdlProviders.Items.Add(provider.Name);
                    }
                }
            }
        }
        /// <summary>
        /// Retrieves the given provider from Web.config and attempts to instantiate it.
        /// </summary>
        /// <param name="ProviderName">The blog provider to instantiate.</param>
        /// <returns>A BlogProvider instance.</returns>
        public static BlogProvider CreateProvider(string ProviderName)
        {
            var section    = (BlogProviderSection)WebConfigurationManager.GetSection("BlogEngine/blogProvider");
            var _providers = new BlogProviderCollection();

            ProvidersHelper.InstantiateProviders(section.Providers, _providers, typeof(BlogProvider));
            return(_providers[ProviderName]);
        }