Vra

Het iemand ervaring met skep SQL-gebaseerde ASP.NET werfkaartverskaffers?

Ek het die standaard XML-lêer web.sitemap werk behoorlik met my spyskaart en SiteMapPath kontroles, maar ek sal 'n manier nodig hê vir die gebruikers van my werf om bladsye dinamies te skep en te wysig.

Ek moet bladsybesigtigingstoestemmings aan die standaard koppel ASP.NET lidmaatskapstelsel ook.

Geen korrekte oplossing nie

Ander wenke

Die Jeff Prosise-weergawe van MSDN-tydskrif werk redelik goed, maar dit het 'n paar foute:

AddNode skrik met skakels na eksterne werwe op jou spyskaart (www.google.com, ens.)

Hier is my fix in 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 caching is gaaf, maar as jy nie 'n draai na die DB wil maak elke keer as jou spyskaart laai nie (om te kyk of die afhanklikheid verander het) en jou spyskaarte verander nie baie gereeld nie, hoekom gebruik dan nie HttpRuntime.Cache eerder?

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;
    }
}
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top