Modifiche del web.config in asp.net 2.0

Nella versione 1.* per modificare il file web.config si doveva aprire il file "web.config" della webapplication e modificarlo come se si trattasse di un file XML.

Nella versione 2.0 tutto ciò è stato ulteriormente facilitato. E' sufficiente utilizzare le classi presenti in System.Configuration. Con esso possiamo leggere e modificare ogni sezione del file web.config. Da codice, per prendere le informazioni della web.application "net2":

System.Configuration.Configuration cnf;
cnf = System.Configuration.Configuration.GetConfigurationForUrl("/net2");

Ora possiamo leggere e modifica ogni cosa:

// Per modificare il CustomError:
cnf.Web.CustomErrors.Mode=System.Web.Management.CustomErrorsMode.Off;
// Per modificare il SessionMode:
cnf.Web.SessionState.Mode = System.Web.SessionState.SessionStateMode.Off;

Quindi per memorizzare le modifiche:

cnf.Update();

Per poter modificare con l'update il file web.config, dobbiamo avere l'accesso in scrittura di tale directory per l'utente utilizzato per l'esecuzione delle pagine asp.net, perché prima della sovrascrittura viene creato un file config di copia.

Possiamo trarre anche singole informazioni, come:

// Per il percorso assoluto nei dischi del server
Response.Write("Percorso: " + cnf.FilePath);
// Per il percorso relativo alla sito web root
Response.Write("Path: " + cnf.Path);
Nella stessa categoria

Commenti
timo77 scrive:
Modifiche del web.config in asp.net 2.0

Ciao Andrea,


ho provato il tuo codice....ma non riesco a trovare il metodo statico "GetConfigurationForUrl" della classe System.Configuration.Configuration da te illustrato....

mi puoi aiutare a capire ???

Grazie

Simone
22/12/2006 ore 17.47 | 3 risposte
andrewz scrive:
Re: Modifiche del web.config in asp.net 2.0

Wow, era il 2003 quando scrissi quel blog! Sono passati ben più di 3 anni!

A parte i ricordi, nella versione definitiva il tutto è cambiato. Ora devi scrivere, per esempio:
Configuration config;
config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
System.Web.Configuration.AuthenticationSection auth = config.GetSection("system.web/authentication") as System.Web.Configuration.AuthenticationSection;
if (auth != null) auth.Forms.Cookieless = true;
config.Save();


Ciao e auguri!
22/12/2006 ore 20.34
timo77 scrive:
Re: Modifiche del web.config in asp.net 2.0

Grazie per la risposta...
Mi ero immaginato qualcosa del genere visto la data

P.S. Non è che sai anche come posso leggere un file *.config, utilizando queste classi, aprendo direttamente il file *.config da filesystem, quindi senza dover passare per il file exe associato per le app windows, o per la virtualpath per le webapp ??
Grazie

Buone Feste e auguri
24/12/2006 ore 10.49 | 1 risposta
andrewz scrive:
Re: Modifiche del web.config in asp.net 2.0

Il file web.config è un file xml. Dunque puoi leggerlo come tale:
XmlDocument doc=new XmlDocument();
doc.Load(Request.MapPath("web.config"));


Ciao!
24/12/2006 ore 11.43
TrackBack scrive:
13/09/2005 ore 20.26

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.

© 1998-2008 - AZ - Il blog di Andrea Zani

TagCloud
BLOG INFO
  • Post: 267
  • Commenti: 171
  • TrackBacks: 35
  • Feed blog e contenuti tecnici: RSS
  • Feed blog: RSS Atom OPML

MVP
CATEGORIE
I PIÙ LETTI DEL MESE
IN EVIDENZA