Как повторно использовать области, контроллеры, представления, модели, маршруты в нескольких приложениях или на веб-сайтах - PullRequest
6 голосов
/ 12 июля 2011

У меня есть тестовое решение, в котором есть только одна область с именем Admin.

Я хотел бы повторно использовать Admin в ряде других веб-приложений.

У меня есть настройка веб-приложения в IIS, затем я добавил виртуальное приложение /Admin из Areas\Admin.

Когда я перехожу к / Admin, я вижу список каталогов. Когда я пытаюсь поразить контроллер, / Admin / News. Я получаю ошибку 404. Возможно, области не регистрируются, даже если код есть в global.asax. Тем не менее, я уверен, что я все делаю неправильно.

Пожалуйста, предложите изменения, чтобы эта ситуация работала.

1 Ответ

6 голосов
/ 12 июля 2011

Области не могут быть повторно использованы так, как вы думаете (используя виртуальные каталоги). Они просто неотъемлемая часть корневого веб-приложения. Они просто встраиваются в корневые маршруты приложений и не могут функционировать без него. Направляя виртуальный каталог в папку Areas, вы указываете, что это отдельное приложение ASP.NET, но это далеко не так.

Существуют такие проекты, как MvcContrib Portable Areas , которые направлены на решение этих проблем. Стоит взглянуть. Также, если вы хотите встроить некоторые виды Razor в сборку, которую вы можете использовать в различных приложениях ASP.NET MVC 3, вы можете взглянуть на следующий пост в блоге .

...