Sql ASP.NET网站地图
是否有人有创建基于SQL的ASP.NET站点地图提供程序的经验 我有默认的XML文件Sql ASP.NET网站地图,sql,asp.net,xml,sitemap,Sql,Asp.net,Xml,Sitemap,是否有人有创建基于SQL的ASP.NET站点地图提供程序的经验 我有默认的XML文件web.sitemap可以与我的菜单和SiteMapPath控件一起正常工作,但是我需要一种方法让我的站点的用户动态创建和修改页面 我还需要将页面查看权限绑定到标准的ASP.NET会员系统中。MSDN杂志的Jeff Prosise版本运行得很好,但它有一些缺陷: AddNode在你的菜单(www.google.com等)上链接到外部网站,让人抓狂 这是我在BuildSiteMap()中的修复方法。: SQLDep
web.sitemap
可以与我的菜单和SiteMapPath控件一起正常工作,但是我需要一种方法让我的站点的用户动态创建和修改页面
我还需要将页面查看权限绑定到标准的
ASP.NET
会员系统中。MSDN杂志的Jeff Prosise版本运行得很好,但它有一些缺陷:
AddNode
在你的菜单(www.google.com等)上链接到外部网站,让人抓狂
这是我在BuildSiteMap()中的修复方法。
:
SQLDependency
缓存很酷,但是如果您不想每次加载菜单(检查依赖项是否发生了变化)时都访问数据库,而且菜单也不经常变化,那么为什么不使用HttpRuntime.Cache
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;
}
}
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;
}
}