문제

제작 경험 있으신 분 계시나요? 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;
    }
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top