Динамически расширяемые возможности приложения?
Я недавно натолкнулся напуть разрабатывать подключаемые модули приложений при использовании ASP.NET MVC3 / 4, и мне понравилась простота этого подхода. В настоящее время мои приложения структурированы следующим образом:
Поэтому любой, кто хочет разработать расширение для моего приложения, следует подходу, описанному выше.руководство и создает расширение, которое остается вAreas
папка. Я полагаю, что когда новыйAreas
(созданные как новые проекты),.pdb
файлы создаются и помещаются вbin
каталог. У меня вопрос такой:
Areas
as pluggable modules?
How do I change the following code so that when someone drops a new Area
into the bin
folder, the application automatically picks it up and creates a link? And what should the plugin author do to enable this?
В моем_Layout.cshtml
(глобальный общий макет), я делаю следующее для построения ссылок:
<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>
Для простоты предположим, что названия областей уникальны. Любые предложения о том, как это сделать?