Initialiser web.config

nabilbetty Messages postés 3 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 11 août 2008 - 8 août 2008 à 12:12
cs_CrisNat Messages postés 1 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 10 septembre 2008 - 10 sept. 2008 à 20:02
salut,
mon probleme est:
j'ai genérer un sitemap a partir d'une base de données sqlserver
quand je modifie une rubrique dans le menu,ou je modifie un champs directement dans la table,dans la premiere execution elle se change,et ça marche bien,mais quand je modifie une autre rubrique il ne les prend pas en consideration,sauf si je touche le web.config par exemple je met un espace o un clic entrée dans une ligne
ce que jé compri c'est que le web.config ne se charge que dans la premiere execution,alors il me fau une methode qui initialise le web.config,j'ai essayé d'utilisé une methode initialize qui a 2 paramettre,
Initialize(string name,NameValueCollection config)
je n sais pas qu'est ce ke je doit mettre dans le 2eme parametre(NameValueCollection)

voila le code de cette methode
public override void Initialize(string name,
        NameValueCollection config)
    {
        // Verify that config isn't null
        if (config == null)
            throw new ArgumentNullException("config");


        // Assign the provider a default name if it doesn't have one
        if (String.IsNullOrEmpty(name))
            name = "SqlSiteMapProvider";


        // Add a default "description" attribute to config if the
        // attribute doesn't exist or is empty
        if (string.IsNullOrEmpty(config["description"]))
        {
            config.Remove("description");
            config.Add("description", "SQL site map provider");
        }


        // Call the base class's Initialize method
        base.Initialize(name, config);


        // Initialize _connect
        string connect = config["connectionStringName"];
       


        if (String.IsNullOrEmpty(connect))
            throw new ProviderException(_errmsg5);
       
        config.Remove("connectionStringName");


        if (WebConfigurationManager.ConnectionStrings[connect] == null)
            throw new ProviderException(_errmsg6);


        _connect = WebConfigurationManager.ConnectionStrings
            [connect].ConnectionString;


        if (String.IsNullOrEmpty(_connect))
            throw new ProviderException(_errmsg7);


        // In beta 2, SiteMapProvider processes the
        // securityTrimmingEnabled attribute but fails to remove it.
        // Remove it now so we can check for unrecognized
        // configuration attributes.


        if (config["securityTrimmingEnabled"] != null)
            config.Remove("securityTrimmingEnabled");


        // Throw an exception if unrecognized attributes remain
        if (config.Count > 0)
        {
            string attr = config.GetKey(0);
            if (!String.IsNullOrEmpty(attr))
                throw new ProviderException
                    ("Unrecognized attribute: " + attr);
        }
    }

et voila le code que j'ai ajouter dans le web.config,pour generer le sitemap


 <siteMap enabled="true" defaultProvider="AspNetSqlSiteMapProvider">
     
       
     

    </siteMap>

donc stp si quelq'un a dejà rencontrer ce probeme qu'il m'aide a le resoudre et trouver une solution pour initialiser le web.config


J'espère avoir été clair,
Cordialement,

1 réponse

cs_CrisNat Messages postés 1 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 10 septembre 2008
10 sept. 2008 à 20:02
Salut,
Je pense que le problème vient d'une sorte de cach de ton provider personnalisé.
La modification du web.config reinitialisse l'application donc probablement vide le cach.

Tu as des nouvelles ?
0
Rejoignez-nous