Frage

Ich baue ein einfaches CMS, das die Navigation/Sitemap/Site-Struktur in einer Datenbanktabelle speichert.Wenn die App startet, kann ich meine Sitemap-Knoten dynamisch basierend auf den Daten aus dieser Tabelle erstellen.

Das Problem, das ich habe, besteht darin, dass ich die Sitemap-Struktur neu erstellen muss, wenn ein neuer Datensatz zur Tabelle hinzugefügt oder ein vorhandener aktualisiert wird, während die App ausgeführt wird.Scheint einfach genug, aber ich kann nicht herausfinden, wie.

War es hilfreich?

Lösung

Es gibt keine integrierte Unterstützung für das Löschen/Neuerstellen der Sitemap im laufenden Betrieb.
Sie können dies jedoch ganz einfach selbst implementieren, indem Sie einen benutzerdefinierten Sitemap-Anbieter implementieren, der von abgeleitet ist MvcSiteMapProvider.DefaultSiteMapProvider, und erstellen Sie eine Methode zum Löschen des Caches mithilfe von protected Clear() Methode.Beispiel:

public class CustomSiteMapProvider : DefaultSiteMapProvider
{
  public void ClearSiteMap()
  {
    Clear();
  }
}

Ich habe es nicht ausprobiert, aber es sollte funktionieren.Denken Sie daran, die Datei web.config so zu ändern, dass stattdessen der benutzerdefinierte Sitemap-Anbieter verwendet wird DefaultSiteMapProvider.

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