Pregunta

¿Alguien tiene experiencia creando? ASP.NET basado en SQL proveedores de mapas del sitio?

Tengo el archivo XML predeterminado web.sitemap funcionando correctamente con mi Menú y Ruta del mapa del sitio controles, pero necesitaré una forma para que los usuarios de mi sitio creen y modifiquen páginas dinámicamente.

Necesito vincular los permisos de visualización de páginas al estándar ASP.NET sistema de membresía también.

No hay solución correcta

Otros consejos

La versión Jeff Prosise de la revista MSDN funciona bastante bien, pero tiene algunos defectos:

AddNode se asusta con enlaces a sitios externos en su menú (www.google.com, etc.)

Aquí está mi solución 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 El almacenamiento en caché es genial, pero si no desea hacer un viaje a la base de datos cada vez que se carga el menú (para verificar si la dependencia ha cambiado) y sus menús no cambian con mucha frecuencia, entonces ¿por qué no usar? HttpRuntime.Cache ¿en cambio?

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;
    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top