Как реализовать области в ASP.NET MVC 1.0, чтобы быть наиболее совместимым с ASP.NET MVC 2.0 - PullRequest
6 голосов
/ 02 августа 2009

До вчерашнего предварительного выпуска ASP.NET MVC я отчаянно нуждался в такой функции, как «области», но не знал, как она называется, чтобы иметь возможность ее найти.

Предварительный выпуск описывает «области» как:

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

В моем случае я строю интернет-магазин как часть приложения. Я хотел бы разбить все под /store / с контроллерами, такими как /store/products/ и /store/checkout.

Кажется, что именно область ASP.NET 2.0 является именно тем, что я хочу, но пока не могу оправдать переход к ней для производственного приложения (хотя это очень заманчиво!).

Я заметил, что у Фила была статья о «группировке контроллеров» еще в ноябре - она ​​называлась « Области в ASP.NET MVC »

Было бы действительно интересно, если бы кто-то использовал какой-либо подход - или, вероятно, кто-то, знакомый с обоими.

Я бы хотел как можно скорее перенести логику своего магазина в отдельную «область», но не могу решить, стоит ли пытаться использовать ноябрьское решение Фила или просто рискнуть реализовать его в предварительной версии? Я предполагаю, что даже часть моего кода должна была бы измениться - RESTful URL-адреса, которые я создал бы, не должны были бы изменяться, поэтому сейчас я склоняюсь к использованию метода «группировки контроллеров». Кто-нибудь пробовал либо?

http://haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx

Документация областей MSDN: http://msdn.microsoft.com/en-us/library/ee307987(VS.100).aspx

Ответы [ 3 ]

1 голос
/ 10 августа 2009

Я использую более ранний прототип областей Фила (тот, на который вы ссылались) в MVC 1.0 в проекте, над которым я сейчас работаю. Кажется, он работает аналогично областям MVC 2.0, и пока он работает нормально для меня. * * * * * * * * * * * * * * * * * * * * * *} * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Это настройка , которую необходимо сделать, чтобы общие представления работали .

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

1 голос
/ 03 августа 2009

Поскольку Asp.net MVC 2.0 все еще находится в фразе Preview 1 и у него нет действующей лицензии. Таким образом, вы не можете использовать его в реальных приложениях. Самый простой способ решить эту проблему - создать собственный фабричный контроллер и пользовательский контроллер, такой как эта статья .

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

Пожалуйста, прочтите это для получения дополнительной информации о Asp.net MVC 2

PS. Я думаю, как ты. Структура контроллера / представления недостаточна для крупномасштабных или средних веб-приложений.

0 голосов
/ 03 августа 2009

Возможно, вы захотите проверить последующую статью, которую он написал, http://haacked.com/archive/2009/07/31/single-project-areas.aspx. Это может дать вам некоторое представление о том, как облегчить ваше решение.

...