A volte mi è capitato di voler modificare dei parametri all'interno del web.config direttamente a runtime.
Un esempio tipico potrebbe essere quello di creare un nuovo ruolo ed aggiungerlo ad una cartello e/o file, oppure aggiungere una proprietà ad un profilo.
Nel nuovo Framework troviamo a nostra disposizione delle classi che ci vengono in aiuto.
Per prima cosa bisogna andare a leggere il file config e questo lo possiamo fare grazie alla classe WebConfigurationManager presente all'interno di System.Web.Configuration, mettendo il tutto in un oggetto:
Configuration config; config = WebConfigurationManager.OpenWebConfiguration("~");
Se non specificato, di default prende il web.config della root.
La seconda operazione da fare è andare a leggere il ramo che ci interessa modificare e metterlo in un oggetto.
Anche questa operazione ci è supportata da una serie di classi presenti nel System.Web.Configuration.
Tra le classi a nostra disposizione abbiamo:
- AuthenticationSection
- AuthorizationSection
- CacheSection
- CustomErrorsSection
- HealthMonitoringSection
- HttpHandlersSection
- HttpModulesSection
- MembershipSection
- OutputCacheSection
- PagesSection
- TrustSection
- UrlMappingsSection
Prendiamo ad esempio ProfileSection e andiamo ad aggiungere un nuovo profilo in questo modo:
ProfileSection compilation; compilation = config.GetSection("system.web/profile") as ProfileSection; //Creo il profilo assegnando gli attributi ProfilePropertySettings nome = new ProfilePropertySettings("myProperty"); nome.Type = "System.String"; nome.SerializeAs = SerializationMode.Binary; //Aggiungo il profilo alla sezione compilation.PropertySettings.Add(nome); //Salvo il web.config config.Save();
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Aggiungere il metodo SelectMany alla classe Array in TypeScript
- Usare gateway dedicati con Azure Cosmos DB per migliorare le prestazioni
- Recuperare i Popup aperti in una Windows Store app
- AI&ML Conf 2020 - Online
- Preview 4 per ASP.NET MVC
- Speciale Windows Store app: costruire app con WinRT per Windows 8
- Microsoft Security Bulletin MS02-050
- Microsoft Security Bulletin MS04-033
- Attivare l'output caching su ASP.NET Web API
- Ottimizzare l'utilizzo di banda tramite ETag in ASP.NET Core Web API