Cosa succede quando modifico web.config?

Ho bisogno di modificare il file web.config su un ambiente live di Sharepoint, ma non sono sicuro di cosa succederà se lo faccio (voglio generare errori personalizzati).

Ciò causerà il riciclo del processo di lavoro IIS6?

Gli utenti attivi perdono il loro stato di sessione a causa di questo?

O posso modificare il file in modo sicuro?

Il pool di applicazioni si riavvierà e lo stato della sessione andrà perso. Immagina che ogni applicazione ASP.NET (come definita in IIS) sia un programma sul desktop. Salvare web.config farà qualcosa di simile alla chiusura del programma e alla riapertura.

  1. Sì. Sarà riciclato.
  2. Sì. Perderanno la sessione.
  3. Sì. Puoi tranquillamente modificare il file. Vi suggerisco di leggere questo articolo MSDN: Lavorare con i file web.config in Windows SharePoint Services

Inoltre, se lo stato della sessione è configurato come out-of-process (database o servizio), il riciclaggio del pool di app non perderà alcun stato di sessione. Questo è vero per Sharepoint come lo è per vaniglia ASP.Net.

Come già detto da alcune persone: il pool di applicazioni del sito in IIS verrà riavviato (in genere sono necessari un paio di secondi). Di conseguenza, le richieste della pagina successiva saranno più lente (poiché nulla verrà più memorizzato nella cache). Anche lo stato della sessione degli utenti andrà perso; MA nello stato della sessione WSS non viene utilizzato per impostazione predefinita, in MOSS viene utilizzato da InfoPath Form Services. Quindi potrebbe essere che non hai grossi problemi legati alla perdita dello stato di sessione.

Dall’altro lato; per superare questi problemi: ciò che viene in genere fatto è creare una soluzione SharePoint (WSP) che distribuisce e avvia un processo timer per apportare le modifiche a web.config dal codice (utilizzando la class SPWebConfigModification del modello a oggetti). La cosa bella è che puoi pianificare l’esecuzione della modifica, in modo che i tuoi utenti non se ne accorgano.

Quando si modifica web.config, verrà riavviato AppDomain (NON AppPool) di tale applicazione Web e verranno cancellate tutte le risorse e la memoria occupate. Pertanto, le altre applicazioni Web in esecuzione in tale sondaggio non saranno interessate. Inoltre cancellerà le sessioni (in-proc) e la memoria cache.

Se hai intenzione di modificare la configurazione web, guarda nella class SPWebConfigModification.