Zack Peterson
그는 물었다 12년 전
39

ASP.NET 사이트 매핑하므로

  • Sql 기반 ASP.NET * 사이트 맵 제공자에서 작성 경험이 누구?

나는 내 메뉴와 함께 '제대로' 웹스시테마프 XML 파일을 기본값입니다 사이테마퍼스 컨트롤 할 수 있지만, I& 사용자를 위한 방법 # 39, ll 무중단으로 내 사이트 페이지를 만들고 수정할 수 있습니다.

페이지 (ASP.NET) '표준' 을 보기 권한을 데릭쉐퍼드와 타이법으로요 꽂으십시오 멤버십 제도는 잘 알려져 있다.

답변 1 개

Msdn magazine 의 제프 프로시스 작동됨 꽤 잘 있지만 아직 몇 가지 버전의 결함:

프릭스 아웃해야 아다노데 '메뉴' 에 대한 링크와 함께 외부 사이트 (www.google.com, etc.)

39, 수리 's my here& 부일드사이테마프 ()'.

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);
}

39 멋지다, '는' 캐싱과는 스크루지펜덴시 신앙이니라 너회가 don& 여행을 하고 싶지 않다, DB everytime 너회의 메뉴 로드되는지 (여부를 확인할 수 있는 종속성을 변경되었습니까) 와 너회의 메뉴 don& 매우 자주 사용하지 않는 이유는 '대신' t change # 39, 다음 하테프룬타임스카치?

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;
    }
}