Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error with 'PreservedRouteParameters' - v4.6.18 #382

Closed
aetamborelli opened this issue Feb 5, 2015 · 14 comments
Closed

Error with 'PreservedRouteParameters' - v4.6.18 #382

aetamborelli opened this issue Feb 5, 2015 · 14 comments

Comments

@aetamborelli
Copy link

Hello.
In some cases, randomly displays the following error:
The node with key 'Home_Index_GET_Home__SolucionInformatica_index_GET_Activos__DataCenter_index_GET_Activos Informáticos__SolucionInformatica_Edit_GET_Soluciones Informáticas' and title 'Soluciones Informáticas' has 'id' configured in both RouteValues and PreservedRouteParameters, which is not allowed.
PreservedRouteParameters copies the route value from the current HTTP request which would overwrite your configured RouteValue in every case. Either remove 'id' from PreservedRouteParameters or as a configured RouteValue.
Alternatively, if you are configuring the node in XML and intend to use 'id' as a custom attribute, use the 'MvcSiteMapProvider_AttributesToIgnore' configuration setting to ensure 'id' is not automatically added to RouteValues. If using external DI, this setting is injected into the constructor of 'SiteMapXmlReservedAttributeNameProvider'.

The sitemap is configured as follows

<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0"
          xsi:schemaLocation="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0 MvcSiteMapSchema.xsd">

  <mvcSiteMapNode title="Home" controller="Home" action="Index" >

    <mvcSiteMapNode title="Activos" controller="SolucionInformatica" action="index" roles="Inventario_Activos" visibility="SiteMapPathHelper" >

      <mvcSiteMapNode title="Activos Informáticos" controller="DataCenter" action="index" >

        <mvcSiteMapNode title="Soluciones Informáticas" controller="SolucionInformatica" action="List" />
        <mvcSiteMapNode title="Soluciones Informáticas" controller="SolucionInformatica" action="New" visibility="SiteMapPathHelper,!*" />
        <mvcSiteMapNode title="Soluciones Informáticas" controller="SolucionInformatica" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
        <mvcSiteMapNode title="Soluciones Informáticas" controller="SolucionInformatica" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
        <mvcSiteMapNode title="Soluciones Informáticas" controller="SolucionInformatica" action="Search" visibility="SiteMapPathHelper,!*" />

        <mvcSiteMapNode title="Instalaciones" controller="DataCenter" action="List"  />
        <mvcSiteMapNode title="Instalaciones" controller="DataCenter" action="New" visibility="SiteMapPathHelper,!*" />
        <mvcSiteMapNode title="Instalaciones" controller="DataCenter" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
        <mvcSiteMapNode title="Instalaciones" controller="DataCenter" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
        <mvcSiteMapNode title="Instalaciones" controller="DataCenter" action="Search" visibility="SiteMapPathHelper,!*"  />

If you do not use the 'PreservedRouteParameters' does not give the error, but does not the breadcrumb.

I am using version 4.6.18.0.
Thanks in advance

@NightOwl888
Copy link
Collaborator

I don't see any problem with your node configuration. Could you post your routes?

The preservedRouteParameters logic was changed slightly in 4.6.18. Could you see if this still happens with 4.6.17?

@aetamborelli
Copy link
Author

In the 4.6.17 also happens. The only routing is

        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default",                                              // Route name
                "{controller}/{action}/{id}",                           // URL with parameters
                new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
            );
        }

@NightOwl888
Copy link
Collaborator

You need to change the route as follows:

        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default",                                              // Route name
                "{controller}/{action}/{id}",                           // URL with parameters
                new { controller = "Home", action = "Index", id = UrlParameter.Optional }  // Parameter defaults
            );
        }

Setting a default value to "" is not the same as setting it to UrlParameter.Optional. The former adds a key id with a value of "" to the MVC RouteValueDictionary, the latter does not add this entry.

That said, I don't think it will solve your issue.

Are you setting the "id" RouteValue in your SolucionInformatica.Edit action method or anywhere else in your request, like this (you shouldn't be)?

MvcSiteMapProvider.Sitemaps.Current.CurrentNode.RouteValues.Add("id", 1234);

If not, please create a small demo project showing how to reproduce the error and make it available for download or post it on GitHub.

@aetamborelli
Copy link
Author

It's very difficult to test (and also to create a demo Project) because error is aleatory. We don't understand the logic behind it.
I'll change my route, see what it happens, and keep you informed about it.
Thanks.

@aetamborelli
Copy link
Author

We also noticed versión 4.6 is much slower than the old 2.0
Any idea of why?

@NightOwl888
Copy link
Collaborator

We have only had a handful of complaints about performance, and other than the known scalability limitations of having a limit of 10s of thousands of nodes, the rest all turned out to be misconfigured in some way. Fixing the configuration improved the performance in every other case.

I have never compared the performance with 2.0, but there were several performance improvements made over the old 3.6 version, and it is definitely much faster.

As for the error, it means that this node:

<mvcSiteMapNode title="Soluciones Informáticas" controller="SolucionInformatica" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

has the "id" key in both the PreservedRouteParameters property and the RouteValues property of SiteMapNode when the SiteMap is loaded. Only one of these should be set.

Clearly, your XML configuration is not setting the "id" of RouteValues, so you have a misconfiguration somewhere else.

Based on your comment about performance and issue #236, my next guess is that you have turned caching off, which would explain both problems.

<appSettings>
    <add key="MvcSiteMapProvider_CacheDuration" value="0" />
</appSettings>

Make sure you set the cache duration to something greater than 0. The default is 5 (minutes).

<appSettings>
    <add key="MvcSiteMapProvider_CacheDuration" value="5" />
</appSettings>

If using external DI, the cache duration is set at the top of the DI module:

TimeSpan absoluteCacheExpiration = TimeSpan.FromMinutes(5);

Without caching, the performance will suffer. Also, you will get this exception because the SiteMap will load multiple times per request (once for each HTML helper) and the request caching of RouteValues will cause this collision the second time the "id" value is copied from the current ControllerContext into the node's RouteValues. There is a workaround for the problem, but it requires that you use external DI in order to apply it, and there is also a fix coming for it in the next minor version.

However, unless your application is doing its own caching of the SiteMap data, there is no valid reason for turning off caching because it is an essential part of the design. Reloading the SiteMap can be done in 3 ways:

  1. Applying the [SiteMapCacheRelease] attribute to the HttpPost portion of the actions that update the node data.
  2. Calling the static MvcSiteMapProvider.SiteMaps.ReleaseSiteMap() method.
  3. Implementing your own ICacheDepedency.

@aetamborelli
Copy link
Author

Thank you very much for all the advice and suggestions and for the prompt reply.
Let's try with all these changes in production and then notify you as we were.

Regards

@aetamborelli
Copy link
Author

Returning to the theme of the slow, returned to the version 2.0.0.0 and is notable change in performance. Our sitemap is as follows (there are definite about 350 nodes and use dynamic nodes):

<mvcSiteMapNode title="Activos" controller="SolucionInformatica" action="index" roles="Inventario_Activos" visibility="SiteMapPathHelper" >

  <mvcSiteMapNode title="Activos Informáticos" controller="DataCenter" action="index" >

    <mvcSiteMapNode title="Soluciones Informáticas" controller="SolucionInformatica" action="List" />
    <mvcSiteMapNode title="Soluciones Informáticas" controller="SolucionInformatica" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Soluciones Informáticas" controller="SolucionInformatica" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Soluciones Informáticas" controller="SolucionInformatica" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Soluciones Informáticas" controller="SolucionInformatica" action="Search" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Instalaciones" controller="DataCenter" action="List"  />
    <mvcSiteMapNode title="Instalaciones" controller="DataCenter" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Instalaciones" controller="DataCenter" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Instalaciones" controller="DataCenter" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Instalaciones" controller="DataCenter" action="Search" visibility="SiteMapPathHelper,!*"  />

    <mvcSiteMapNode title="Servidores" controller="Servidores" action="List" />
    <mvcSiteMapNode title="Servidores" controller="Servidores" action="New" visibility="SiteMapPathHelper,!*"  />
    <mvcSiteMapNode title="Servidores" controller="Servidores" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Servidores" controller="Servidores" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*"  />
    <mvcSiteMapNode title="Servidores" controller="Servidores" action="Search" visibility="SiteMapPathHelper,!*"  />

    <mvcSiteMapNode title="Aplicativos" controller="Aplicativos" action="List" />
    <mvcSiteMapNode title="Aplicativos" controller="Aplicativos" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Aplicativos" controller="Aplicativos" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Aplicativos" controller="Aplicativos" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Aplicativos" controller="Aplicativos" action="Search" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Bases de Datos" controller="BaseDatos" action="List" />
    <mvcSiteMapNode title="Bases de Datos" controller="BaseDatos" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Bases de Datos" controller="BaseDatos" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Bases de Datos" controller="BaseDatos" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Bases de Datos" controller="BaseDatos" action="Search" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Canales" controller="Canales" action="List" />
    <mvcSiteMapNode title="Canales" controller="Canales" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Canales" controller="Canales" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Canales" controller="Canales" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Canales" controller="Canales" action="Search" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Enlaces" controller="Enlaces" action="List" />
    <mvcSiteMapNode title="Enlaces" controller="Enlaces" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Enlaces" controller="Enlaces" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Enlaces" controller="Enlaces" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Enlaces" controller="Enlaces" action="Search" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Proveedores" controller="Proveedores" action="List" />
    <mvcSiteMapNode title="Proveedores" controller="Proveedores" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Proveedores" controller="Proveedores" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Proveedores" controller="Proveedores" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Proveedores" controller="Proveedores" action="Search" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Activos Comunes" controller="ActivosComunes" action="List" />
    <mvcSiteMapNode title="Activos Comunes" controller="ActivosComunes" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Activos Comunes" controller="ActivosComunes" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Activos Comunes" controller="ActivosComunes" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Activos Comunes" controller="ActivosComunes" action="Search" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Sistemas Operativos" controller="SistemasOperativos" action="List" />
    <mvcSiteMapNode title="Sistemas Operativos" controller="SistemasOperativos" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Sistemas Operativos" controller="SistemasOperativos" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Sistemas Operativos" controller="SistemasOperativos" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Sistemas Operativos" controller="SistemasOperativos" action="Search" visibility="SiteMapPathHelper,!*" />

  </mvcSiteMapNode>

  <mvcSiteMapNode title="Clasificación Act. Informáticos" controller="ActivosClasificacion" action="List" />
  <mvcSiteMapNode title="Clasificación Act. Informáticos" controller="ActivosClasificacion" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Clasificación Act. Informáticos" controller="ActivosClasificacion" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Activos de Información" controller="ActivosDeInformacion" action="List" />
  <mvcSiteMapNode title="Activos de Información" controller="ActivosDeInformacion" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Activos de Información" controller="ActivosDeInformacion" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Activos de Información" controller="ActivosDeInformacion" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Tablas" controller="TipoActivo" action="Index">

    <mvcSiteMapNode title="Tipos Act. Informático" controller="TipoActivo" action="List" />
    <mvcSiteMapNode title="Tipos Act. Informático" controller="TipoActivo" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos Act. Informático" controller="TipoActivo" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos Act. Informático" controller="TipoActivo" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Tipos Act. Información" controller="TipoActivoInformacion" action="List" />
    <mvcSiteMapNode title="Tipos Act. Información" controller="TipoActivoInformacion" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos Act. Información" controller="TipoActivoInformacion" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Tipos de Disponibilidad" controller="TipoDisponibilidad" action="List" />
    <mvcSiteMapNode title="Tipos de Disponibilidad" controller="TipoDisponibilidad" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos de Disponibilidad" controller="TipoDisponibilidad" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Tipos de Canales" controller="TipoCanales" action="List" />
    <mvcSiteMapNode title="Tipos de Canales" controller="TipoCanales" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos de Canales" controller="TipoCanales" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Tipos de Contingencia" controller="TiposContingencia" action="List" />
    <mvcSiteMapNode title="Tipos de Contingencia" controller="TiposContingencia" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos de Contingencia" controller="TiposContingencia" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Tipos de Contrato" controller="TipoContrato" action="List" />
    <mvcSiteMapNode title="Tipos de Contrato" controller="TipoContrato" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos de Contrato" controller="TipoContrato" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos de Contrato" controller="TipoContrato" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Tipos Clasificación Activos" controller="TipoClasificacionActivos" action="List" />
    <mvcSiteMapNode title="Tipos Clasificación Activos" controller="TipoClasificacionActivos" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos Clasificación Activos" controller="TipoClasificacionActivos" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Tipos Ambiente Servidor" controller="TipoAmbiente" action="List" />
    <mvcSiteMapNode title="Tipos Ambiente Servidor" controller="TipoAmbiente" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos Ambiente Servidor" controller="TipoAmbiente" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Tipo Pasaje Producción" controller="TipoPasajeProduccion" action="List" />
    <mvcSiteMapNode title="Tipo Pasaje Producción" controller="TipoPasajeProduccion" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipo Pasaje Producción" controller="TipoPasajeProduccion" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Tipo Seguridad App." controller="TipoSeguridadAplicativo" action="List" />
    <mvcSiteMapNode title="Tipo Seguridad App." controller="TipoSeguridadAplicativo" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipo Seguridad App." controller="TipoSeguridadAplicativo" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  </mvcSiteMapNode>

</mvcSiteMapNode>

<mvcSiteMapNode title="Operacional" controller="RiesgosOperacionales" action="Index" roles="RiesgoOperacional, MapeoRO, AnalisisROAdmin, AnalisisROCarga, AnalisisROAprobacion" >

  <mvcSiteMapNode title="Operacional" controller="RiesgosOperacionales" action="index2" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Productos" controller="Productos" action="Search" roles="MapeoRO" />
  <mvcSiteMapNode title="Productos" controller="Productos" action="List" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Productos" controller="Productos" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Productos" controller="Productos" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Productos" controller="Productos" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Mapeo de Prod/Serv/Sop." controller="Procesos" action="Search" roles="MapeoRO" />
  <mvcSiteMapNode title="Mapeo de Prod/Serv/Sop." controller="Procesos" action="List" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Mapeo de Prod/Serv/Sop." controller="Procesos" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Mapeo de Prod/Serv/Sop." controller="Procesos" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Mapeo de Prod/Serv/Sop." controller="Procesos" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="SubProcesos" controller="SubProcesos" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="SubProcesos" controller="SubProcesos" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="SubProcesos" controller="SubProcesos" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="SubProcesos" controller="SubProcesos" action="NewActividadProceso" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="SubProcesos" controller="SubProcesos" action="EditActividadProceso" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Evaluación Impacto (BIA)" controller="BIA" action="Search" roles="BIA_Edicion, BIA_Autorizacion" />
  <mvcSiteMapNode title="Evaluación Impacto (BIA)" controller="BIA" action="List" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Evaluación Impacto (BIA)" controller="BIA" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Evaluación Impacto (BIA)" controller="BIA" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Evaluación Impacto (BIA)" controller="BIA" action="New" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Riesgos Operacionales" controller="RiesgosOperacionales" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Riesgos Operacionales" controller="RiesgosOperacionales" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Riesgos Operacionales" controller="RiesgosOperacionales" action="New" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Controles Operacionales" controller="ControlesRO" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Controles Operacionales" controller="ControlesRO" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Controles Operacionales" controller="ControlesRO" action="New" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Análisis Riesgo Operacional" controller="RiesgosOperacionales" action="Search" roles="AnalisisROAdmin, AnalisisROCarga, AnalisisROAprobacion"  />
  <mvcSiteMapNode title="Análisis Riesgo Operacional" controller="RiesgosOperacionales" action="List" visibility="SiteMapPathHelper,!*"  />

  <mvcSiteMapNode title="Normativa Interna" controller="NormativaInterna" action="Index" roles="NormativaInterna">

    <mvcSiteMapNode title="Normativa Interna" controller="NormativaInterna" action="Search" />
    <mvcSiteMapNode title="Normativa Interna" controller="NormativaInterna" action="List" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Normativa Interna" controller="NormativaInterna" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Normativa Interna" controller="NormativaInterna" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Normativa Interna" controller="NormativaInterna" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />


    <mvcSiteMapNode title="Tipos de normas internas" controller="TipoNormaInterna" action="List" />
    <mvcSiteMapNode title="Tipos de normas internas" controller="TipoNormaInterna" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos de normas internas" controller="TipoNormaInterna" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  </mvcSiteMapNode>

  <mvcSiteMapNode title="Tablas" controller="TablasVarias" action="Index5" roles="RiesgoOperacional">

    <mvcSiteMapNode title="Amenazas" controller="CatAmenazasRO" action="Search" />
    <mvcSiteMapNode title="Amenazas" controller="CatAmenazasRO" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Amenazas" controller="CatAmenazasRO" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Amenazas" controller="CatAmenazasRO" action="List" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Amenazas" controller="CatAmenazasRO" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Vulnerabilidades" controller="CatVulnerabilidadRO" action="Search" />
    <mvcSiteMapNode title="Vulnerabilidades" controller="CatVulnerabilidadRO" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Vulnerabilidades" controller="CatVulnerabilidadRO" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Vulnerabilidades" controller="CatVulnerabilidadRO" action="List" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Vulnerabilidades" controller="CatVulnerabilidadRO" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Clasificación BCRA" controller="ClasificacionBCRA" action="Search" />
    <mvcSiteMapNode title="Clasificación BCRA" controller="ClasificacionBCRA" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Clasificación BCRA" controller="ClasificacionBCRA" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Clasificación BCRA" controller="ClasificacionBCRA" action="List" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Clasificación BCRA" controller="ClasificacionBCRA" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Líneas de Negocios" controller="LineasDeNegocio" action="List" />
    <mvcSiteMapNode title="Líneas de Negocios" controller="LineasDeNegocio" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Líneas de Negocios" controller="LineasDeNegocio" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Tipos de Controles" controller="TipoControl" action="List" />
    <mvcSiteMapNode title="Tipos de Controles" controller="TipoControl" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos de Controles" controller="TipoControl" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Tipos de Productos" controller="TipoProductos" action="List" />
    <mvcSiteMapNode title="Tipos de Productos" controller="TipoProductos" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos de Productos" controller="TipoProductos" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos de Productos" controller="TipoProductos" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Tipos de Procesos" controller="TipoProceso" action="List"  />
    <mvcSiteMapNode title="Tipos de Procesos" controller="TipoProceso" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos de Procesos" controller="TipoProceso" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Niveles de Dependencia" controller="NivelesDependencia" action="List" />
    <mvcSiteMapNode title="Niveles de Dependencia" controller="NivelesDependencia" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Niveles de Dependencia" controller="NivelesDependencia" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  </mvcSiteMapNode>

  <mvcSiteMapNode title="Reportes" controller="ReportesRO" action="Index" roles="RiesgoOperacional" />

  <mvcSiteMapNode title="Exportacion" controller="ReportesRO" action="Exportacion" roles="RiesgoOperacional" />

</mvcSiteMapNode>

<mvcSiteMapNode title="Tecnológico" controller="RiesgosTecnologicos" action="Index" roles="RiesgoTecnologico" key="Tecnológico" >

  <mvcSiteMapNode title="Análisis de Riesgo" controller="RiesgosTecnologicos" action="Search" />
  <mvcSiteMapNode title="Análisis de Riesgo" controller="RiesgosTecnologicos" action="List" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Análisis de Riesgo" controller="RiesgosTecnologicos" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Análisis de Riesgo" controller="RiesgosTecnologicos" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Análisis de Riesgo" controller="RiesgosTecnologicos" action="New" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Control de Riesgos" controller="ControlesRT" action="List" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Control de Riesgos" controller="ControlesRT" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Control de Riesgos" controller="ControlesRT" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Control de Riesgos" controller="ControlesRT" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Canales Electrónicos" action="Details" dynamicNodeProvider="ViaRiesgos.SiteMapHelper.StoreDetailsDynamicNodeProvider, ViaRiesgos" />

  <!--<mvcSiteMapNode title="Canales Electrónicos" controller="EscenarioCumplimiento" action="Index" roles="CanalesElectronicos" >

    <mvcSiteMapNode title="Análisis de Cumplimiento (GAP)" controller="EscenarioCumplimiento" action="Search" />
    <mvcSiteMapNode title="Análisis de Cumplimiento (GAP)" controller="EscenarioCumplimiento" action="List" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Análisis de Cumplimiento (GAP)" controller="EscenarioCumplimiento" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Requisitos" controller="Requisitos" action="Search" />
    <mvcSiteMapNode title="Requisitos" controller="Requisitos" action="List" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Requisitos" controller="Requisitos" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Requisitos" controller="Requisitos" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Requisitos" controller="Requisitos" action="New" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Escenarios" controller="Escenarios" action="Search" />
    <mvcSiteMapNode title="Escenarios" controller="Escenarios" action="List" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Escenarios" controller="Escenarios" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Escenarios" controller="Escenarios" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Escenarios" controller="Escenarios" action="New" visibility="SiteMapPathHelper,!*" />

  </mvcSiteMapNode>-->

  <mvcSiteMapNode title="Tablas" controller="TablasVarias" action="Index3" key="Tecnológico_Tablas">

    <mvcSiteMapNode title="Catálogo de Amenazas" controller="catAmenazas" action="List" />
    <mvcSiteMapNode title="Catálogo de Amenazas" controller="catAmenazas" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Catálogo de Amenazas" controller="catAmenazas" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Catálogo de Amenazas" controller="catAmenazas" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Catálogo de Vulnerabilidades" controller="catVulnerabilidad" action="List" />
    <mvcSiteMapNode title="Catálogo de Vulnerabilidades" controller="catVulnerabilidad" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Catálogo de Vulnerabilidades" controller="catVulnerabilidad" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Catálogo de Vulnerabilidades" controller="catVulnerabilidad" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <!--<mvcSiteMapNode title="Productos" controller="Productos" action="List" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Productos" controller="Productos" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Productos" controller="Productos" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Productos" controller="Productos" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />-->

    <!--<mvcSiteMapNode title="Tipos de Criticidad" controller="TipoCriticidad" action="List" />
    <mvcSiteMapNode title="Tipos de Criticidad" controller="TipoCriticidad" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos de Criticidad" controller="TipoCriticidad" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos de Criticidad" controller="TipoCriticidad" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Categoria de Escenarios" controller="CategoriaEscenarios" action="List" />
    <mvcSiteMapNode title="Categoria de Escenarios" controller="CategoriaEscenarios" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Categoria de Escenarios" controller="CategoriaEscenarios" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Categoria de Requisitos" controller="CategoriaRequisitos" action="List" />
    <mvcSiteMapNode title="Categoria de Requisitos" controller="CategoriaRequisitos" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Categoria de Requisitos" controller="CategoriaRequisitos" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Criticidad de Escenarios" controller="CriticidadEscenarios" action="List" />
    <mvcSiteMapNode title="Criticidad de Escenarios" controller="CriticidadEscenarios" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Criticidad de Escenarios" controller="CriticidadEscenarios" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Niveles de Cumplimiento" controller="NivelCumplimiento" action="List" />
    <mvcSiteMapNode title="Niveles de Cumplimiento" controller="NivelCumplimiento" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Niveles de Cumplimiento" controller="NivelCumplimiento" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />-->

  </mvcSiteMapNode>

  <mvcSiteMapNode title="Reportes" controller="RiesgosTecnologicos" action="Reportes" />

  <mvcSiteMapNode title="Exportación" controller="RiesgosTecnologicos" action="Exportacion" />

  <mvcSiteMapNode title="Trasnferencia de Riesgos Tecnológicos por Tipo de Activo" controller="RiesgosTecnologicos" action="TransferirRT" visibility="SiteMapPathHelper,!*" />

</mvcSiteMapNode>

<mvcSiteMapNode title="Planes de Acción" controller="PlanesDeAccionTareas" action="index" roles="PlanesDeAccion" >

  <mvcSiteMapNode title="Planes de Acción" controller="PlanesDeAccionTareas" action="Search" />
  <mvcSiteMapNode title="Planes de Acción" controller="PlanesDeAccionTareas" action="List" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Planes de Acción" controller="PlanesDeAccionTareas" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Planes de Acción" controller="PlanesDeAccionTareas" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Planes de Acción" controller="PlanesDeAccionTareas" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Planes de Acción" controller="PlanesDeAccionTareas" action="DisplayPlan" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Planes de Acción" controller="PlanesDeAccionTareas" action="EditPlan" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Tablas" controller="CategoriasTareas" action="Index">

    <mvcSiteMapNode title="Categorias de Tareas de Planes de Acción" controller="CategoriasTareas" action="List" />
    <mvcSiteMapNode title="Categorias de Tareas de Planes de Acción" controller="CategoriasTareas" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Categorias de Tareas de Planes de Acción" controller="CategoriasTareas" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  </mvcSiteMapNode>

</mvcSiteMapNode>

<mvcSiteMapNode title="Reportes de Eventos" controller="ReportesEventosRO" action="index" key="ReporteEventos" >

  <mvcSiteMapNode title="Actualización" controller="ReportesEventosRO" action="Search" Editar="" />
  <mvcSiteMapNode title="Actualización" controller="ReportesEventosRO" action="List" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Actualización" controller="ReportesEventosRO" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Actualización" controller="ReportesEventosRO" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Actualización" controller="ReportesEventosRO" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Actualización" controller="ReportesROAnalista" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" roles="ReportesEventosAdmin" />
  <mvcSiteMapNode title="Actualización" controller="ReportesROAnalista" action="New" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" roles="ReportesEventosAdmin" />

  <!--<mvcSiteMapNode title="Generación de Interfaces" controller="ReportesEventosRO" action="GeneracionInterfaces" roles="ReportesEventosAdmin" />-->
  <mvcSiteMapNode title="Generación de Interfaces" action="Details" dynamicNodeProvider="ViaRiesgos.SiteMapHelper.ReporteEventosDynamicNodeProvider, ViaRiesgos" />

  <mvcSiteMapNode title="Tablas" controller="Integrantes" action="index" roles="ReportesEventosAdmin" key="ReporteEventos_Tablas" >

    <!--<mvcSiteMapNode title="Integrantes" controller="Integrantes" action="List" Editar="" />
    <mvcSiteMapNode title="Integrantes" controller="Integrantes" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Integrantes" controller="Integrantes" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Integrantes" controller="Integrantes" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />-->

    <mvcSiteMapNode title="Línea Negocio BCRA" controller="LineasNegocioBCRA" action="List" Editar="" c="" />
    <mvcSiteMapNode title="Línea Negocios BCRA" controller="LineasNegocioBCRA" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Línea Negocios BCRA" controller="LineasNegocioBCRA" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Línea Negocios BCRA" controller="LineasNegocioBCRA" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Caracteres Evento BCRA" controller="CaracteresBCRA" action="List" Editar="" c="" />
    <mvcSiteMapNode title="Caracteres Evento BCRA" controller="CaracteresBCRA" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Caracteres Evento BCRA" controller="CaracteresBCRA" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Caracteres Evento BCRA" controller="CaracteresBCRA" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <!--<mvcSiteMapNode title="Coordinadores R.O." controller="CoordinadoresRO" action="List" Editar="" c="" />
    <mvcSiteMapNode title="Coordinadores R.O." controller="CoordinadoresRO" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Coordinadores R.O." controller="CoordinadoresRO" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Coordinadores R.O." controller="CoordinadoresRO" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />-->

    <!--<mvcSiteMapNode title="Analistas R.O." controller="AnalistasRO" action="List" Editar="" c="" />
    <mvcSiteMapNode title="Analistas R.O." controller="AnalistasRO" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Analistas R.O." controller="AnalistasRO" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Analistas R.O." controller="AnalistasRO" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />-->

    <mvcSiteMapNode title="Periodicidad" controller="Peridiocidad" action="List" Editar="" c="" />
    <mvcSiteMapNode title="Periodicidad" controller="Peridiocidad" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Periodicidad" controller="Peridiocidad" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Periodicidad" controller="Peridiocidad" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <!--<mvcSiteMapNode title="Áreas BTF" controller="AreasBTF" action="List" Editar="" c="" />
    <mvcSiteMapNode title="Áreas BTF" controller="AreasBTF" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Áreas BTF" controller="AreasBTF" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Áreas BTF" controller="AreasBTF" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />-->

    <mvcSiteMapNode title="Estados de Tareas" controller="EstadosTarea" action="List" Editar="" c="" />
    <mvcSiteMapNode title="Estados de Tareas" controller="EstadosTarea" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Estados de Tareas" controller="EstadosTarea" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Estados de Tareas" controller="EstadosTarea" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Clase" controller="ClaseReporteEvento" action="List" Editar="" c="" />
    <mvcSiteMapNode title="Clase" controller="ClaseReporteEvento" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Clase" controller="ClaseReporteEvento" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  </mvcSiteMapNode>

  <mvcSiteMapNode title="Reportes" controller="ReportesEventosRO" action="Reportes" roles="ReportesEventosAdmin" />

</mvcSiteMapNode>

<mvcSiteMapNode title="Indicadores" controller="Indicadores" action="Index" roles="Indicadores,Indicadores_Admin,Indicadores_Analista" >

  <mvcSiteMapNode title="Indicadores" controller="Indicadores" action="Search" />
  <mvcSiteMapNode title="Indicadores" controller="Indicadores" action="List" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Indicadores" controller="Indicadores" action="New" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Indicadores" controller="Indicadores" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Indicadores" controller="Indicadores" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Valores de Indicadores" controller="IndicadoresValores" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Valores de Indicadores" controller="IndicadoresValores" action="New" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Umbrales" controller="IndicadoresUmbrales" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Umbrales" controller="IndicadoresUmbrales" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Umbrales" controller="IndicadoresUmbrales" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Tablas" controller="Frecuencias" action="index" roles="Indicadores_Admin">

    <mvcSiteMapNode title="Tipos Indicadores" controller="TiposIndicadores" action="List" Editar="" c="" />
    <mvcSiteMapNode title="Tipos Indicadores" controller="TiposIndicadores" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Tipos Indicadores" controller="TiposIndicadores" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Categorías" controller="IndicadoresCategorias" action="List" Editar="" c="" />
    <mvcSiteMapNode title="Categorías" controller="IndicadoresCategorias" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Categorías" controller="IndicadoresCategorias" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

    <mvcSiteMapNode title="Frecuencias" controller="Frecuencias" action="List" Editar="" c="" />
    <mvcSiteMapNode title="Frecuencias" controller="Frecuencias" action="New" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Frecuencias" controller="Frecuencias" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Frecuencias" controller="Frecuencias" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  </mvcSiteMapNode>

</mvcSiteMapNode>

<mvcSiteMapNode title="Tablas" controller="TablasVarias" action="Index" roles="TablasGenerales,Administradores" >

  <mvcSiteMapNode title="Tablas" controller="TablasVarias" action="Index2" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Catálogo de Impactos" controller="CatImpactos" action="List" />
  <mvcSiteMapNode title="Catálogo de Impactos" controller="CatImpactos" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Catálogo de Impactos" controller="CatImpactos" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Catálogo de Impactos" controller="CatImpactos" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Impactos" controller="Impactos" action="List" />
  <mvcSiteMapNode title="Impactos" controller="Impactos" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Impactos" controller="Impactos" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Feriados" controller="Feriados" action="List" />
  <mvcSiteMapNode title="Feriados" controller="Feriados" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Feriados" controller="Feriados" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Niveles de Responsables" controller="NivelesReponsables" action="List" />
  <mvcSiteMapNode title="Niveles de Responsables" controller="NivelesReponsables" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Niveles de Responsables" controller="NivelesReponsables" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Probabilidades" controller="Probabilidades" action="List" />
  <mvcSiteMapNode title="Probabilidades" controller="Probabilidades" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Probabilidades" controller="Probabilidades" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Provincias" controller="Provincias" action="List" />
  <mvcSiteMapNode title="Provincias" controller="Provincias" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Provincias" controller="Provincias" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Responsables" controller="Responsables" action="List" />
  <mvcSiteMapNode title="Responsables" controller="Responsables" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Responsables" controller="Responsables" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Responsables" controller="Responsables" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Sucursales" controller="Sucursales" action="List" />
  <mvcSiteMapNode title="Sucursales" controller="Sucursales" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Sucursales" controller="Sucursales" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Sucursales" controller="Sucursales" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Tipo de Riesgos" controller="TipoRiesgos" action="List" />
  <mvcSiteMapNode title="Tipo de Riesgos" controller="TipoRiesgos" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Tipo de Riesgos" controller="TipoRiesgos" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Tipos de Sucursal" controller="TiposSucursal" action="List" />
  <mvcSiteMapNode title="Tipos de Sucursal" controller="TiposSucursal" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Tipos de Sucursal" controller="TiposSucursal" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

</mvcSiteMapNode>

<mvcSiteMapNode title="Seguridad" controller="UserAdministration" action="Index" roles="Seguridad">

  <mvcSiteMapNode title="Usuarios" controller="UserAdministration" action="User" >
    <mvcSiteMapNode title="Usuarios" controller="UserAdministration" action="Find" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Usuarios" controller="UserAdministration" action="AddRol" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Usuarios" controller="UserAdministration" action="UserDisplay" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Usuarios" controller="UserAdministration" action="UserDisplay2" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Usuarios" controller="UserAdministration" action="UserEdit" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Usuarios" controller="UserAdministration" action="UserCreate" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Usuarios" controller="Account" action="UserEditContra" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Roles de Usuarios" controller="UserAdministration" action="GetRole" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Roles de Usuarios" controller="UserAdministration" action="UserAsignRol" visibility="SiteMapPathHelper,!*" />
  </mvcSiteMapNode>

  <mvcSiteMapNode title="Roles" controller="UserAdministration" action="GetRoleBySearch" >
    <mvcSiteMapNode title="Roles" controller="UserAdministration" action="RolEdit" visibility="SiteMapPathHelper,!*" />
    <mvcSiteMapNode title="Roles" controller="UserAdministration" action="RolDisplay" visibility="SiteMapPathHelper,!*" />
  </mvcSiteMapNode>

</mvcSiteMapNode>

<mvcSiteMapNode title="Auditoria" controller="Auditoria" action="Index" roles="Auditoria">

  <mvcSiteMapNode title="Log de Sesiones" controller="Auditoria" action="RptLogSesiones" />
  <mvcSiteMapNode title="Log de Auditoria" controller="Auditoria" action="RptLogAuditoria" />
  <mvcSiteMapNode title="Log de Administradores" controller="Auditoria" action="RptLogAdministradores" />
  <mvcSiteMapNode title="Log del Sistema" controller="UserAdministration" action="LogSistema" />

  <mvcSiteMapNode title="Historial de Versiones" controller="Auditoria" action="HistorialVersiones" visibility="SiteMapPathHelper,!*" />

</mvcSiteMapNode>

<mvcSiteMapNode title="Documentacion" controller="AuditoriaTablas" action="Index" roles="Documentacion">

  <mvcSiteMapNode title="Documentacion" controller="AuditoriaTablas" action="Index2" visibility="SiteMapPathHelper,!*" />

  <mvcSiteMapNode title="Tablas del Sistema" controller="AuditoriaTablas" action="Search" />
  <mvcSiteMapNode title="Tablas del Sistema" controller="AuditoriaTablas" action="List" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Tablas del Sistema" controller="AuditoriaTablas" action="New" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Tablas del Sistema" controller="AuditoriaTablas" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Tablas del Sistema" controller="AuditoriaTablas" action="NewColumn" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Tablas del Sistema" controller="AuditoriaTablas" action="EditColumn" visibility="SiteMapPathHelper,!*" />
  <mvcSiteMapNode title="Tablas del Sistema" controller="AuditoriaTablas" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

</mvcSiteMapNode>

<!--<mvcSiteMapNode title="Períodos" controller="Periodos" action="List" visibilityProvider="ViaRiesgos.SiteMapHelper.CustomVisibilityProvider, ViaRiesgos" visibility="SiteMapPathHelper,!*" />-->
<mvcSiteMapNode title="Períodos" controller="Periodos" action="List" visibility="SiteMapPathHelper,!*"  />
<mvcSiteMapNode title="Períodos" controller="Periodos" action="New" visibility="SiteMapPathHelper,!*" />
<mvcSiteMapNode title="Períodos" controller="Periodos" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />
<mvcSiteMapNode title="Períodos" controller="Periodos" action="Display" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

What is happening?
From version 2.0.0.0 did not find much documentation on dynamicos nodes. Where can we find information?

thank you very much

@NightOwl888
Copy link
Collaborator

As far as I am aware, there is no documentation for the 2.0 version.

I suggest you upgrade to 4.6.18 because at least I can support that version. We just need to find the problem with your configuration, and the performance issues will go away. I don't think there are any problems with the configuration of your nodes.

However, as I have already stated, it sounds like you have set the "MvcSiteMapProvider_CacheDuration" setting to 0. This will definitely cause performance issues and would explain the other error you are getting. You should set it for at least 5 minutes.

You might also have issues with the configuration you haven't posted. For example, improperly configured DynamicNodeProviders could lead to performance issues. Also, if you are using Security Trimming and have lots of code that runs in your controller constructors or inside of a custom AuthorizeAttribute you will have performance problems.

Could you post your root web.config and your 2 dynamic node providers, StoreDetailsDynamicNodeProvider and ReporteEventosDynamicNodeProvider?

@aetamborelli
Copy link
Author

Web.config:




















































</system.web>

<system.web>



</system.web>


<system.web>



</system.web>


<system.web>



</system.web>

<system.webServer>















</system.webServer>




























AppSettings:




DynamicNodes

public class StoreDetailsDynamicNodeProvider : MvcSiteMapProvider.DynamicNodeProviderBase
{
    public override IEnumerable<MvcSiteMapProvider.DynamicNode> GetDynamicNodeCollection(MvcSiteMapProvider.ISiteMapNode node)
    {

        #region Canales Electrónicos

        // Si esta activada la feature de canales electronicos muestra el menu en tacnologico
        if (ViaInfo.Core.Features.FeatureEnabled(ViaInfo.Core.Features.FeatureKey.CanalesElectronicos))
        {
            MvcSiteMapProvider.DynamicNode dynamicNode = new MvcSiteMapProvider.DynamicNode();

            // Nodo Padre
            dynamicNode.Title = "Canales Electrónicos";
            dynamicNode.ParentKey = "Tecnológico";
            dynamicNode.Controller = "EscenarioCumplimiento";
            dynamicNode.Action = "Index";
            dynamicNode.Roles = new List<string> { "CanalesElectronicos" };
            dynamicNode.Key = "Canales_Electrónicos";
            yield return dynamicNode;

            #region Análisis de Cumplimiento (GAP)

            dynamicNode.Title = "Análisis de Cumplimiento (GAP)";
            dynamicNode.ParentKey = "Canales_Electrónicos";
            dynamicNode.Controller = "EscenarioCumplimiento";
            dynamicNode.Action = "Search";
            dynamicNode.Key = "Canales_Electrónicos_Cumplimiento";
            yield return dynamicNode;

            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Análisis de Cumplimiento (GAP)";
            dynamicNode.Controller = "EscenarioCumplimiento";
            dynamicNode.Action = "List";
            dynamicNode.PreservedRouteParameters.Add("id");
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;

            dynamicNode.Action = "Display";
            yield return dynamicNode;

            #endregion

            #region  Requisitos

            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Requisitos";
            dynamicNode.ParentKey = "Canales_Electrónicos";
            dynamicNode.Controller = "Requisitos";
            dynamicNode.Action = "Search";
            dynamicNode.Key = "Canales_Electrónicos_Requisitos";
            yield return dynamicNode;

            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Requisitos";
            dynamicNode.Controller = "Requisitos";
            dynamicNode.Action = "Search";
            dynamicNode.PreservedRouteParameters.Add("id");
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;

            dynamicNode.Action = "List";
            yield return dynamicNode;
            dynamicNode.Action = "Display";
            yield return dynamicNode;
            dynamicNode.Action = "Edit";
            yield return dynamicNode;
            dynamicNode.Action = "New";
            yield return dynamicNode;

            #endregion

            #region Escenarios

            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Escenarios";
            dynamicNode.ParentKey = "Canales_Electrónicos";
            dynamicNode.Controller = "Escenarios";
            dynamicNode.Action = "Search";
            dynamicNode.Key = "Canales_Electrónicos_Escenarios";
            yield return dynamicNode;

            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Escenarios";
            dynamicNode.Controller = "Escenarios";
            dynamicNode.Action = "List";
            dynamicNode.PreservedRouteParameters.Add("id");
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;

            dynamicNode.Action = "Edit";
            yield return dynamicNode;
            dynamicNode.Action = "Display";
            yield return dynamicNode;
            dynamicNode.Action = "New";
            yield return dynamicNode;

            #endregion

            #region Tablas

            // Agrega tablas de Canales Electronicos en Tecnológico / Tablas
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Tablas";
            dynamicNode.ParentKey = "Canales_Electrónicos";
            dynamicNode.Controller = "TipoCriticidad";
            dynamicNode.Action = "List";
            dynamicNode.Key = "Canales_Electrónicos_Tablas";
            yield return dynamicNode;

            dynamicNode = new MvcSiteMapProvider.DynamicNode();

            // Tipo Criticidad
            dynamicNode.Title = "Tipos de Criticidad";
            dynamicNode.ParentKey = "Canales_Electrónicos_Tablas";
            dynamicNode.Controller = "TipoCriticidad";
            dynamicNode.Action = "List";
            yield return dynamicNode;

            dynamicNode.Action = "New";
            dynamicNode.PreservedRouteParameters.Add("id");
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;
            dynamicNode.Action = "Edit";
            yield return dynamicNode;
            dynamicNode.Action = "Display";
            yield return dynamicNode;

            // Categoria de Escenarios
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Categoria de Escenarios";
            dynamicNode.ParentKey = "Canales_Electrónicos_Tablas";
            dynamicNode.Controller = "CategoriaEscenarios";
            dynamicNode.Action = "List";
            yield return dynamicNode;

            dynamicNode.Action = "New";
            dynamicNode.PreservedRouteParameters.Add("id");
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;
            dynamicNode.Action = "Edit";
            yield return dynamicNode;
            dynamicNode.Action = "Display";
            yield return dynamicNode;

            // Categoria de Requisitos
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Categoria de Requisitos";
            dynamicNode.ParentKey = "Canales_Electrónicos_Tablas";
            dynamicNode.Controller = "CategoriaRequisitos";
            dynamicNode.Action = "List";
            yield return dynamicNode;

            dynamicNode.Action = "New";
            dynamicNode.PreservedRouteParameters.Add("id");
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;
            dynamicNode.Action = "Edit";
            yield return dynamicNode;
            dynamicNode.Action = "Display";
            yield return dynamicNode;

            // Criticidad de Escenarios
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Criticidad de Escenarios";
            dynamicNode.ParentKey = "Canales_Electrónicos_Tablas";
            dynamicNode.Controller = "CriticidadEscenarios";
            dynamicNode.Action = "List";
            yield return dynamicNode;

            dynamicNode.Action = "New";
            dynamicNode.PreservedRouteParameters.Add("id");
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;
            dynamicNode.Action = "Edit";
            yield return dynamicNode;
            dynamicNode.Action = "Display";
            yield return dynamicNode;

            // Niveles de Cumplimiento
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Niveles de Cumplimiento";
            dynamicNode.ParentKey = "Canales_Electrónicos_Tablas";
            dynamicNode.Controller = "NivelCumplimiento";
            dynamicNode.Action = "List";
            yield return dynamicNode;

            dynamicNode.Action = "New";
            dynamicNode.PreservedRouteParameters.Add("id");
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;
            dynamicNode.Action = "Edit";
            yield return dynamicNode;
            dynamicNode.Action = "Display";
            yield return dynamicNode;

            #endregion

        }

        #endregion

    }
}

public class ReporteEventosDynamicNodeProvider : MvcSiteMapProvider.DynamicNodeProviderBase
{
    public override IEnumerable<MvcSiteMapProvider.DynamicNode> GetDynamicNodeCollection(MvcSiteMapProvider.ISiteMapNode node)
    {
        string ModoReporteEventos = ViaRiesgos.Extensions.UtilExtensions.obtenerValorAppSettings("ModoReporteEventos");
        MvcSiteMapProvider.DynamicNode dynamicNode = new MvcSiteMapProvider.DynamicNode();

        dynamicNode.Title = "Generación de Interfaces";
        dynamicNode.ParentKey = "ReporteEventos";
        dynamicNode.Controller = "ReportesEventosRO";
        dynamicNode.Roles = new List<string> { "ReportesEventosAdmin" };

        if (ModoReporteEventos == "UNIDATO")
        {
            dynamicNode.Action = "GeneracionInterfaces";
            yield return dynamicNode;

            // Tablas varias
            // Integrantes
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Integrantes";
            dynamicNode.ParentKey = "ReporteEventos_Tablas";
            dynamicNode.Controller = "Integrantes";
            dynamicNode.Action = "List";
            yield return dynamicNode;
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Integrantes";
            dynamicNode.ParentKey = "ReporteEventos_Tablas";
            dynamicNode.Controller = "Integrantes";
            dynamicNode.Action = "New";
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Integrantes";
            dynamicNode.ParentKey = "ReporteEventos_Tablas";
            dynamicNode.Controller = "Integrantes";
            dynamicNode.Action = "Edit";
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Integrantes";
            dynamicNode.ParentKey = "ReporteEventos_Tablas";
            dynamicNode.Controller = "Integrantes";
            dynamicNode.Action = "Display";
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;

            // Coordinadores R.O.
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Coordinadores R.O.";
            dynamicNode.ParentKey = "ReporteEventos_Tablas";
            dynamicNode.Controller = "CoordinadoresRO";
            dynamicNode.Action = "List";
            yield return dynamicNode;
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Coordinadores R.O.";
            dynamicNode.ParentKey = "ReporteEventos_Tablas";
            dynamicNode.Controller = "CoordinadoresRO";
            dynamicNode.Action = "New";
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Coordinadores R.O.";
            dynamicNode.ParentKey = "ReporteEventos_Tablas";
            dynamicNode.Controller = "CoordinadoresRO";
            dynamicNode.Action = "Edit";
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Coordinadores R.O.";
            dynamicNode.ParentKey = "ReporteEventos_Tablas";
            dynamicNode.Controller = "CoordinadoresRO";
            dynamicNode.Action = "Display";
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;

            // Coordinadores R.O.
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Analistas R.O.";
            dynamicNode.ParentKey = "ReporteEventos_Tablas";
            dynamicNode.Controller = "AnalistasRO";
            dynamicNode.Action = "List";
            yield return dynamicNode;
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Analistas R.O.";
            dynamicNode.ParentKey = "ReporteEventos_Tablas";
            dynamicNode.Controller = "AnalistasRO";
            dynamicNode.Action = "New";
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Analistas R.O.";
            dynamicNode.ParentKey = "ReporteEventos_Tablas";
            dynamicNode.Controller = "AnalistasRO";
            dynamicNode.Action = "Edit";
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Analistas R.O.";
            dynamicNode.ParentKey = "ReporteEventos_Tablas";
            dynamicNode.Controller = "AnalistasRO";
            dynamicNode.Action = "Display";
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;

            // Áreas BTF
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Áreas BTF";
            dynamicNode.ParentKey = "ReporteEventos_Tablas";
            dynamicNode.Controller = "AreasBTF";
            dynamicNode.Action = "List";
            yield return dynamicNode;
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Áreas BTF";
            dynamicNode.ParentKey = "ReporteEventos_Tablas";
            dynamicNode.Controller = "AreasBTF";
            dynamicNode.Action = "New";
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Áreas BTF";
            dynamicNode.ParentKey = "ReporteEventos_Tablas";
            dynamicNode.Controller = "AreasBTF";
            dynamicNode.Action = "Edit";
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;
            dynamicNode = new MvcSiteMapProvider.DynamicNode();
            dynamicNode.Title = "Áreas BTF";
            dynamicNode.ParentKey = "ReporteEventos_Tablas";
            dynamicNode.Controller = "AreasBTF";
            dynamicNode.Action = "Display";
            dynamicNode.Attributes.Add("visibility", "SiteMapPathHelper,!*");
            yield return dynamicNode;

        }
        else if (ModoReporteEventos == "BCRA")
        {
            dynamicNode.Action = "GeneracionInterfacesBCRA";
            yield return dynamicNode;
        }

    }
}

THANKS!!!

@aetamborelli
Copy link
Author

Web.config and AppSetting not showing. attach a image of this
appsettings
webconfig

@NightOwl888
Copy link
Collaborator

Nothing unusual is jumping out of your configuration.

Does performance improve by a large margin if you disable security trimming as a test?

You might also try commenting groups of nodes in blocks to see if you can find the area that is causing the performance issue. The "divide and conquer" approach.

You need to narrow this down to a particular node or a particular feature that is causing performance issues.

Are you still receiving the original error?

If so, does your project use [SiteMapPreserveRouteDataAttribute]? Do note that it is now obsolete and you should not be using it anymore. If this attribute is on your action method that corresponds to the node

<mvcSiteMapNode title="Soluciones Informáticas" controller="SolucionInformatica" action="Edit" preservedRouteParameters="id" visibility="SiteMapPathHelper,!*" />

It could be causing the error.

@NightOwl888
Copy link
Collaborator

Were you able to resolve this issue?

@NightOwl888
Copy link
Collaborator

Closing as there has been no activity on this for several months. Feel free to reopen this issue if it is still unresolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants
@NightOwl888 @aetamborelli and others