문제
제작 경험 있으신 분 계시나요? SQL 기반 ASP.NET 사이트맵 제공업체?
기본 XML 파일이 있습니다 web.sitemap
내 메뉴와 제대로 작동하고 사이트맵 경로 하지만 내 사이트 사용자가 페이지를 동적으로 만들고 수정할 수 있는 방법이 필요합니다.
페이지 보기 권한을 표준에 연결해야 합니다. ASP.NET
회원제도도 그렇고.
올바른 솔루션이 없습니다
다른 팁
MSDN 매거진의 Jeff Prosise 버전은 꽤 잘 작동하지만 몇 가지 결함이 있습니다.
AddNode
메뉴에 외부 사이트 링크(www.google.com 등)가 있다는 사실에 놀랐습니다.
내 수정 사항은 다음과 같습니다. 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
캐싱은 훌륭하지만 메뉴가 로드될 때마다(종속성이 변경되었는지 확인하기 위해) DB로 이동하고 싶지 않고 메뉴가 자주 변경되지 않는 경우에는 캐싱을 사용하지 않는 것이 좋습니다. 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;
}
}
제휴하지 않습니다 StackOverflow