Структура MVC3 в IIS - PullRequest
       4

Структура MVC3 в IIS

3 голосов
/ 10 мая 2011

Я делаю несколько веб-приложений.Я хочу сделать следующее:

  1. Приложения в IIS должны быть автономными с использованием другого пула приложений.

  2. Существует одно основное приложение, используемое в одиночкув качестве главной страницы, позволяя входить / выходить и перемещать пользователей в другие приложения.

  3. Я хочу, чтобы другие приложения использовали макет основного приложения.

Структура, о которой я думал, заключалась в том, чтобы развернуть основное приложение в корневой папке сайта и разместить под ним другие приложения в отдельной папке (отдельное приложение и пул).Что-то вроде:

IIS
  |
  |__Main app (web site)
        |
        |__App1
        |
        |__App2

Однако, я просто запутался здесь:

  1. Как я могу повторно использовать приложения / пулы layout / dll acorss, не копируя их в каждое приложение(Может быть, это глупый вопрос)

  2. Как я могу использовать контроллер / функцию действия MVC3 вместо прямого использования жестко <a/> для навигации пользователей к каждому приложению.Я действительно попробовал это.Похоже, что основное приложение (MVC3) может распознавать только контроллер и просматривать его в своем собственном проекте.

Итак, я пытаюсь сделать следующее: развернуть мои приложения в структуре дерева выше ипозвольте основному приложению отображать представления из подпрограмм и отображаться в рамке основного приложения.

Возможно, это не очень хорошая практика, но приветствуется любое предложение !!!

Большое спасибо

1 Ответ

1 голос
/ 12 мая 2011

Это действительно звучит так, как если бы вы хотели использовать Areas в MVC. Это не позволит вам запускать вложенные «приложения» в их собственном пуле приложений, но позволит выполнить все остальное, что вы хотите сделать (общие макеты, библиотеки DLL, Html.ActionLink, доступ на основе ролей к каждому Area и т. Д. ). Вы можете легко обмениваться навигацией верхнего уровня по всем областям и иметь разные суб-навигации для каждой. У меня есть блог из двух частей об использовании единого макета, который разделен между Областями и может оказать вам некоторую помощь (или идеи).

Одиночный макет для областей с представлениями ASPX и Razor (часть 1) - Использование ASPX View Engine

Одинарный макет для областей с представлениями ASPX и Razor (часть 2) - Использование механизма просмотра Razor

Если вы чувствовали, что наличие вложенных приложений в областях в одном проекте было слишком жестким, вы также можете использовать MvcContrib , чтобы создавать вложенные приложения в переносимых областях и затем использовать их в приложении верхнего уровня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...