Question: Has anyone got experience creating SQL-based ASP.NET site-map providers?
I've got the default XML file
I need to tie page viewing permissions into the standard
Solution: Here's my fix in
web.sitemap
working properly with my Menu and SiteMapPath controls, but I'll need a way for the users of my site to create and modify pages dynamically.I need to tie page viewing permissions into the standard
ASP.NET
membership system as well.Solution: Here's my fix in
BuildSiteMap()
:SiteMapNode node = GetSiteMapNodeFromReader(reader); string url = node.Url; if (url.Contains(":")) { string garbage = Guid.NewGuid().ToString(); // SiteMapNode needs unique URLs node.Url = "~/dummy_" + garbage + ".aspx"; AddNode(node, _root); node.Url = url; } else { AddNode(node, _root); }
SQLDependency
caching is cool, but if you don't want to
make a trip to the DB everytime your menu loads (to check to see if the
dependency has changed) and your menus don't change very often, then why
not use HttpRuntime.Cache
instead?public override SiteMapNode RootNode { get { SiteMapNode temp = (SiteMapNode)HttpRuntime.Cache["SomeKeyName"]; if (temp == null) { temp = BuildSiteMap(); HttpRuntime.Cache.Insert("SomeKeyName", temp, null, DateTime.Now.AddHours(1), Cache.NoSlidingExpiration); } return temp; } }
No comments:
Post a Comment