Динамически расширяемые возможности приложения?

Я недавно натолкнулся напуть разрабатывать подключаемые модули приложений при использовании ASP.NET MVC3 / 4, и мне понравилась простота этого подхода. В настоящее время мои приложения структурированы следующим образом:

enter image description here

Поэтому любой, кто хочет разработать расширение для моего приложения, следует подходу, описанному выше.руководство и создает расширение, которое остается вAreas папка. Я полагаю, что когда новыйAreas (созданные как новые проекты),.pdb файлы создаются и помещаются вbin каталог. У меня вопрос такой:

How does one distribute the 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>

Для простоты предположим, что названия областей уникальны. Любые предложения о том, как это сделать?

Ответы на вопрос(5)

Ваш ответ на вопрос