ナビゲーション/サイトマップ/サイト構造をデータベーステーブルに保存する単純なCMSを構築しています。アプリが起動すると、そのテーブルのデータに基づいてサイトマップノードを動的に作成できます。
私が抱えている問題は、アプリの実行中に新しいレコードがテーブルに追加されたり、既存のレコードが更新されたりした場合に、サイトマップ構造を再構築する必要があることです。簡単そうに見えますが、どうすればいいのかわかりません。
ナビゲーション/サイトマップ/サイト構造をデータベーステーブルに保存する単純なCMSを構築しています。アプリが起動すると、そのテーブルのデータに基づいてサイトマップノードを動的に作成できます。
私が抱えている問題は、アプリの実行中に新しいレコードがテーブルに追加されたり、既存のレコードが更新されたりした場合に、サイトマップ構造を再構築する必要があることです。簡単そうに見えますが、どうすればいいのかわかりません。
オンザフライでサイトマップをクリア/再構築する組み込みのサポートはありません。
しかし、 から派生したカスタム サイトマップ プロバイダを実装することで、これを自分で非常に簡単に実装MvcSiteMapProvider.DefaultSiteMapProvider
し、保護されたメソッドを使用してキャッシュをクリアするために使用されるメソッドを作成できますClear()
。例:
public class CustomSiteMapProvider : DefaultSiteMapProvider
{
public void ClearSiteMap()
{
Clear();
}
}
試したことはありませんが、うまくいくはずです。の代わりにカスタム サイトマップ プロバイダーを使用するように web.config ファイルを変更することを忘れないでくださいDefaultSiteMapProvider
。