¿Extender dinámicamente las características de una aplicación?
Recientemente me encontré con uncamino para desarrollar módulos de aplicación conectables al usar ASP.NET MVC3 / 4 y me encantó la simplicidad del enfoque. Actualmente, tengo mis aplicaciones estructuradas de la siguiente manera:
Por lo tanto, cualquier persona que desee desarrollar una extensión para mi aplicación, sigue el enfoque descrito anteriormente.tutorial y crea una extensión que permanece en elAreas
carpeta. Me imagino que cuando es nuevoAreas
(creado como nuevos proyectos) se agregan,.pdb
los archivos se crean y se colocan en elbin
directorio. Mi pregunta es la siguiente:
Areas
¿Como módulos enchufables?¿Cómo cambio el siguiente código para que cuando alguien suelte un nuevoArea
en elbin
carpeta, la aplicación lo recoge automáticamente y crea un enlace? ¿Y qué debería hacer el autor del plugin para habilitar esto?En mi_Layout.cshtml
(diseño compartido global), hago lo siguiente para construir los enlaces:
<ul>
<li>@Html.ActionLink("Area1", "Index", "Area1", new { Area = "Area1" }, null)</li>
<li>@Html.ActionLink("Area2", "Index", "Area2", new { Area = "Area2" }, null)</li>
<li>@Html.ActionLink("Area3", "Index", "Area3", new { Area = "Area3" }, null)</li>
</ul>
Para simplificar, suponga que los nombres de área son únicos. ¿Alguna sugerencia sobre cómo hacer esto?