2008-10-07 11 views
66

Ich muss die web.config-Datei in einer Live-Sharepoint-Umgebung bearbeiten, aber ich bin mir nicht sicher, was passiert, wenn ich es tue (ich möchte benutzerdefinierte Fehler ausgeben).Was passiert, wenn ich web.config bearbeite?

Wird dies dazu führen, dass der Arbeitsprozess von IIS6 recycelt wird?

Werden aktive Benutzer aus diesem Grund ihren Sitzungsstatus verlieren?

Oder kann ich die Datei sicher bearbeiten?

+0

Sie können Sitzungen definieren, die auf einem Remotecomputer platziert werden, sodass das Zurücksetzen der Anwendung nicht zum Verlust der Sitzung führt – Kamarey

Antwort

64

Der Anwendungspool wird neu gestartet und der Sitzungsstatus geht verloren. Stellen Sie sich vor, jede ASP.NET-Anwendung (wie in IIS definiert) ist ein Programm auf dem Desktop. Das Speichern von web.config wird etwas ähnliches tun, als das Programm zu schließen und es wieder zu öffnen.

+6

Nicht sicher über IIS6, aber in IIS7 und IIS8 ist dies das * Standardverhalten, obwohl Sie es über Anwendungspools ändern können > Erweiterte Optionen> Recycling> Recycling für Konfigurationsänderungen deaktivieren = ** true **, was beispielsweise für Produktionsumgebungen hilfreich ist, damit die Administratoren Änderungen vornehmen können, die erst beim nächsten Recycling wirksam werden. Mit Sharepoint gibt es eine Möglichkeit, die Änderungen so zu planen, dass sie zu einem bestimmten Zeitpunkt angewendet werden, glaube ich. – nothingisnecessary

+2

@nothingisnecessary Führt die Einstellung 'Anwendungspools> Erweiterte Optionen> Recycling> Recycling deaktivieren' _selbst_ zu einem App-Pool-Recycling? Schildkröten den ganzen Weg hinunter? – RedFilter

+0

Hallo @DanGoldstein. Sie erwähnen '* etwas ähnliches *', um das Programm zu schließen und wieder zu öffnen. Was ist mit statischem Zustand? Ist der statische Zustand ** gewährleistet, um durch eine web.config-Änderung gelöscht zu werden? Der Grund ist, dass ich einige web.config Sachen in statischen Variablen zwischenspeichern. –

0

Wenn Sie irgendwelche Gedanken haben die Web-Config zu bearbeiten, benutzen Sie bitte die SPWebConfigModification Klasse suchen.

1

Wie bereits von einigen Leuten erwähnt: der Anwendungspool der Site in IIS wird neu gestartet (dies dauert in der Regel ein paar Sekunden). Als Ergebnis werden die nächsten Seitenanforderungen langsamer sein (da nichts mehr zwischengespeichert wird). Auch der Sitzungsstatus der Benutzer wird verloren gehen; ABER in WSS Sitzungsstatus wird standardmäßig nicht verwendet, in MOSS wird es von InfoPath Form Services verwendet. Es könnte also sein, dass Sie keine großen Probleme im Zusammenhang mit dem Verlust des Sitzungsstatus haben.

Auf der anderen Seite; Um diese Probleme zu lösen, wird typischerweise eine SharePoint-Lösung (WSP) erstellt, die einen Timer-Job bereitstellt und startet, um die Änderungen an der web.config aus dem Code vorzunehmen (mithilfe der SPWebConfigModification-Klasse des Objektmodells). Das Schöne ist, dass Sie die Ausführung der Änderung planen können, damit Ihre Benutzer es nicht bemerken.

8

Auch wenn der Sitzungsstatus als Out-of-Process (Datenbank oder Dienst) konfiguriert ist, verliert der App-Pool nicht den Status. Dies gilt für SharePoint genauso wie für ASP.Net.

Verwandte Themen