Я пытаюсь создать «совместное» приложение MVC, которое может использоваться для всех распространенных данных, которые используются другими MVC и устаревшими веб-приложениями.MVC, вызывающий представления из других виртуальных каталогов
К примеру, у меня есть два виртуальных каталогов установки на моем сервере:
mysite.com/Report
mysite.com/Base
Так что я хотел бы быть в состоянии сделать это, чтобы это включить вид из папки «базовой» в " Сообщить «один»;
@Html.Partial("/Base/Views/Shared/_NavigateMenu.cshtml")
Обратите внимание, что ~ в отчете будет отправлено на mysite.com/Report, я не могу его использовать.
Однако делать это приводит к следующим исключением:
The virtual path '/Base/Views/Shared/_NavigateMenu.cshtml' maps to another application, which is not allowed.
Я знаю о районах, однако есть много недостатков в их использовании, во-первых, я не могу (или очень трудно) для переноса существующих устаревших приложений в область, также логически, лучше, чтобы каждое приложение MVC было разделено и имело место для общих объектов. (Не только просмотры, но css, изображения и т. Д.)
Итак, вопрос в том, как я могу «разрешить» MVC сопоставлять и, таким образом, получать доступ к другим приложениям?
Большое спасибо. Да, я просто хочу добавить виды для таких вещей, как постоянное меню навигации, одно место для jquery et al и т. Д. Так что ваше высказывание - единственный способ сделать это - добавить виртуальный каталог в IIS, чтобы сделать это что «база» находится в приложении «отчет»? – BJury
Еще раз спасибо! Я добавил виртуальный каталог, и он работает. Немного взлома действительно, что является неудачным. Области просто не дают четкого разделения различных функций, таких как разные проекты в виртуальных каталогах. Кажется, это довольно большое слабое место в структуре MVC. – BJury
@BJury Что касается статических активов, они не обязательно должны находиться в общем виртуальном каталоге. Но имейте в виду, что они будут доставлены с конфигурацией приложения, которое их размещает (кодирование, сжатие, кеш и т. Д.). Кроме того, если вы ищете более распространенные части mvc на более высоком уровне, вы можете взглянуть на «переносные области», – jbl