Domanda

Sto costruendo un semplice cm che memorizza la navigazione / sitemap / struttura del sito in una tabella di database.Quando l'app si avvia posso creare i miei nodi sitemap in modo dinamico in base ai dati da quella tabella.

Il problema che sto avendo è quando un nuovo record viene aggiunto alla tabella o uno esistente viene aggiornato mentre l'app è in esecuzione che è necessario ricostruire la struttura del sito.Sembra abbastanza semplice ma non riesco a capire come.

È stato utile?

Soluzione

Non c'è il supporto incorporato di compensazione / ricostruzione del sitemap on-the-fly.
Ma è possibile implementarti con te stesso abbastanza facilmente implementando un sitemapprovider personalizzato derivante da MvcSiteMapProvider.DefaultSiteMapProvider e creare un metodo utilizzato per cancellare la cache, utilizzando il metodo Clear() protetto.Esempio:

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

Non l'ho provato, ma dovrebbe funzionare.Ricordarsi di cambiare il file web.config per utilizzare il sitemapprovider personalizzato anziché DefaultSiteMapProvider.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top