MVC Controller в пространствах имен DLL - PullRequest
1 голос
/ 25 ноября 2011

В настоящее время мои контроллеры и представления находятся в отдельной DLL

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

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

Я приведу пример ..

У меня есть контроллер на

namespace MyWebSite.Web.Mvc.Areas.Member.Controllers
{
}

Я бы хотел изменить его на

namespace MyWebSite.DLL.Mvc.Areas.Member.Controllers
{
}

Но это не работает .. Как я могу изменить свое пространство имен и все еще заставить его работать?

1 Ответ

1 голос
/ 25 ноября 2011

Насколько мне известно в голом проекте MVC, среда выполнения mvc всегда будет по умолчанию соответствовать обычному пространству имен контроллера для этого приложения из-за модели кодирования для соглашения, которую использует MVC.

Однако это не означает, что ваши попытки не возможны.

Чтобы использовать разные пространства имен, я думаю, что в идеале вам нужно смотреть на что-то вроде функциональности MEF, встроенной в .NET 4, или вам нужно использовать контейнер IOC, такой как Unity / Structuremap или один из множества других. имеется.

У нас есть как минимум одна презентация на lidnug о создании приложений MVC с использованием строительных блоков, которую можно найти в архивах по адресу:

http://lidnug.org/archives.aspx

и на канале channel9.msdn.com доступно довольно много информации с предыдущих PDC и других конференций ms dev.

...