Estendendo dinamicamente recursos de um aplicativo?
Eu encontrei recentemente umcaminho para desenvolver módulos de aplicativos conectáveis ao usar a ASP.NET MVC3 / 4 e adorei a simplicidade da abordagem. Atualmente, tenho meus aplicativos estruturados da seguinte forma:
Portanto, qualquer pessoa que queira desenvolver uma extensão para minha aplicação, segue a abordagem acimatutorial e cria uma extensão que permanece noAreas
pasta. Eu acho que quando novoAreas
(criados como novos projetos) são adicionados,.pdb
arquivos são criados e colocados nobin
diretório. Minha pergunta é esta:
Areas
como módulos plugáveis?Como eu mudo o seguinte código para que quando alguém abandone um novoArea
nobin
pasta, o aplicativo automaticamente pega e cria um link? E o que o autor do plug-in deve fazer para permitir isso?No meu_Layout.cshtml
(layout compartilhado global), eu faço o seguinte para construir os links:
<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>
Por simplicidade, suponha que os nomes das áreas sejam únicos. Alguma sugestão sobre como fazer isso?