Frage

Ich bin versucht zu re-installieren Sie eine DLL in den GAC, alles scheint gut zu funktionieren, aber die web-Anwendung Zugriff auf scheint es immer noch mit der alten.

Die alte DLL ist die gleiche version wie der neue mit nur eine kleine Veränderung, es wird verwendet werden durch die 50 unterschiedlichen Seiten so ändern Sie die version dann ändern die Referenz im web.config wird nicht ein gut Lösung.

Ein Neustart des IIS-Servers oder der Arbeitsprozess ist keine option, da gibt es schon 50 Seiten ausführen, müssen dies auch weiterhin tun.

weiß jemand, was ich falsch mache oder was ich tun kann, um diese situation zu verbessern?

War es hilfreich?

Lösung

AFAIK, Sie müssen IIS neu starten, damit Sie es, um eine neue Referenz zu den aktualisierten DLL.Ihre beste Wette ist, führen Sie das zurücksetzen auf einem niedrigen Verkehrs Zeit.Wenn Sie mit mehreren Servern mit Lastenausgleich können Sie verhindern, dass neue verbindungen von der Kollision mit einem server, bis alle verbindungen geschlossen wurden.Danach aktualisieren Sie die DLL, starten Sie IIS neu, und bringen Sie den server zurück in den Verbindungs-pool.Wiederholen Sie diesen Vorgang für jeden server ohne sichtbare Ausfallzeiten für die Ende Benutzer.

Andere Tipps

Da Sie nicht machen einen Verweis auf Anwendungspools, ich nehme an, Sie sind mit der alten version von IIS.In diesem Fall, was Sie tun müssen, ist zu "berühren" alle DLLs in jedem Ort, die auf die DLL.

Das problem ist, dass der code bereits geladen ist und Sie müssen zu finden eine nicht-intrusive Möglichkeit zum erneuten laden der Anwendung.Recycling app-pools ist ein effektiver Weg, dies zu tun.Wenn Sie sind auf der alten IIS, der nicht die app-pools, dann die Aktualisierung der letzten änderung in der /bin/ Ordner oder web.config-Dateien laden Sie die Anwendung ohne Auswirkungen auf die anderen Seiten.

Damit ein Skript von einer Art zu tun, die oben in Ordnung.Alles, was man braucht zu tun ist, aktualisieren Sie die lastmodified auf die DLLs in jeden /bin-Verzeichnis der Anwendung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top