Aug 162010
 

Wenn bei BlogEngine.NET eine Erweiterung aus- oder eingeschaltet wird kommt eine Meldung die einem mitteilt, dass auf die Web.config nicht geändert werden kann. Das kommt daher, dass der ExtensionManager versucht, bei einer Änderung des Status einer Erweiterung, das Blog neu zu starten. Versucht wird das in dem die Web.config geringfügig verändert wird. Bei einer Änderung der Web.config wird das Web automatisch neu gestartet.

Um den Fehler zu verhindern müsste man dem Account, unter dem das Web läuft, schreibrechte auf die Web.config geben. Wenn man einen eigenen IIS hat ist das kein Problem. Bei einem Shared Hosting geht das aber nicht immer. Ich kann z.B. auf den Dateien im root-Verzeichnis keine Rechte ändern. Die Web.config ist also immer schreibgeschützt für die Webanwendung. Dann kommt immer der Fehler.

Man kann das Web aber noch anders neu starten. Mit HttpRuntime.UnloadAppDomain(); erreicht man das selbe ohne die Fehlermeldung und gefühlt schneller. Angepasst werden muss folgendes.

In der ExtensionManager.cs:

Die Zeilen 12 und 13 werden auskommentiert. Die Zeile 15 ist neu und bewirkt ein neustarten der Webanwendung.

  6 Responses to “BlogEngine.NET – Fehler beim ein- und ausschalten von Erweiterungen”

Comments (6)
  1. Wobei man anmerken sollte das HttpRuntime.UnloadAppDomain(); "Full-Trust" benötigt. Bei Blogs die bei irgendwelchen Hostern laufen ist der Weg über die web.config IMHO der einzige.

  2. Ich denke auch, dass für den Zugriff auf die AppDomain [i]FullTrust[/i] benötigt wird.
    Allerdings endet der Schreibzugriff auf die [i]web.config[/i] meist auch in einem [i]AccessDenied[/i] Fehler, der zwar abgefangen aber trotzdem unschön ist.
    Servus,
    Klaus

  3. Und jetzt habe ich extra in der Hilfe nachgeschaut. Dort steht nichts von FullTrust.
    http://msdn.microsoft.com/de-de/library/system.web.httpruntime.unloadappdomain.aspx
    Wie komme ich nun drauf dass das Teil FullTrust braucht?

  4. Ich weiß nicht ob das irgendwo dokumentiert ist, aber spätestens wenn´s knallt fragt man sich warum 🙂
    Rick Strahl hat mal einen netten Blogpost darüber geschrieben: http://www.west-wind.com/WebLog/posts/5688.aspx.

    Philip

  5. Also zwei Methoden die nicht unbedingt funktionieren. Ob es eine gibt die wirklich tut?

  6. Danke – der Blogbeitrag hat mir gerade einige Kopfschmerzen gespart.. 😉

Sorry, the comment form is closed at this time.