ASP.NET Sitesi Haritalar

oy
31

Herkes oluşturma deneyimi var mı SQL tabanlı ASP.NET site haritası sağlayıcıları?

Ben varsayılan XML dosyası var web.sitemapbenim Menüsü ve düzgün çalışan SiteMapPath kontrolleri, ama oluşturmak ve dinamik sayfaları değiştirmek için sitemde kullanıcıları için bir yola gerek vardır.

Ben standart haline sayfa görüntüleme izinleri kravat gerek ASP.NETde üyelik sistemiyle.

Oluştur 01/08/2008 saat 16:50
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
11

MSDN dergisinden Jeff Prosise sürümü oldukça iyi çalışıyor, ama bu birkaç kusuru vardır:

AddNode (Vb www.google.com) menünüzde harici sitelere bağlantılar ile çılgına

İşte benim düzeltme öyle 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önbelleğe alma serin olmakla birlikte, DB her şey bir gezi yapmak istemiyorsanız menü yükler (bağımlılık değişip değişmediğini anlamak için kontrol etmeyi) ve menüler çok sık, neden kullanmayın değişmez HttpRuntime.Cacheyerine?

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;
    }
}
Cevap 23/09/2008 saat 23:41
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more