Динамическое расширение функций приложения?

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

enter image description here

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

  • Как распределить Областикак подключаемые модули?
  • Как изменить следующий код, чтобы, когда кто-то помещает новую областьв папку bin, приложение автоматически подхватывало ее и создавало ссылку? И что должен сделать автор плагина, чтобы включить это?

В своем _Layout.cshtml(глобальный общий макет) я делаю следующее для создания ссылок:

  • @Html.ActionLink("Area1", "Index", "Area1", new { Area = "Area1" }, null)
  • @Html.ActionLink("Area2", "Index", "Area2", new { Area = "Area2" }, null)
  • @Html.ActionLink("Area3", "Index", "Area3", new { Area = "Area3" }, null)

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

7
задан Legend 13 June 2012 в 21:50
поделиться