我正在开发一个大型ASP.NET MVC应用程序.我目前正在研究我将用于构建控制器/视图的机制.我看到一些提到单轨铁路和它的使用"区域".我已经回顾了Haacked的文章,它看起来像一个有趣的选择.我想知道的是,是否有人在生产的ASP.NET MVC应用程序中实现了区域,并且他们是否有任何可能有助于实现这些区域并证明其存在的在线资源.
我和我的团队目前正在使用ASP.NET MVC框架作为底层技术开发一个非常大的应用程序.我们使用区域,强类型视图名称和我们自己的本地化版本.到目前为止,它的合作非常顺利.
对我来说,与ASP.NET MVC的交易破坏者将是控制器名称必须是唯一的.完全可以预见的是,需要一个控制器来管理库存中的库存并调度我的应用程序区域并对这些区域进行分类太难了.对于区域,这不再是一个问题.我强烈推荐使用它们,正如Phil Haack概述的那样.
或者你可以看看史蒂文桑德森的实施,他已经采取了一些进一步,但对我们来说,这不是我们需要的东西.
我很快就会看到区域很快就实现了ASP.NET MVC.
祝你的应用程序好运,我认为你不会后悔选择ASP.NET MVC.
在我看来,对大型应用领域的支持至关重要.微软打算在没有内置支持的情况下发布ASP.NET MVC 1.0,这对我来说似乎很奇怪.
幸运的是,MVC缺乏可扩展性所弥补的功能.例如,在S#arp Architecture中,正如Asaf简要提到的那样,我接受了Phil Haack(http://haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx)和Steve Sanderson(http)的指导.://blog.codeville.net/2008/11/05/app-areas-in-aspnet-mvc-take-2/)但修改了合并结果以支持view文件夹下的区域.(我不喜欢有一个单独的"区域"文件夹来保存您的视图区域.)换句话说,如果您创建一个带有相应控制器Animals.AardvarksController的"Animals"区域,您的Views文件夹将反映Views/Animals /食蚁兽.
如果您对使用所有S#arp架构不感兴趣,我建议您至少查看在此框架中如何实现区域以便在您自己的应用程序中使用.相关代码包括:
可重用区域支持类:http: //sharp-architecture.googlecode.com/svn/trunk/src/SharpArch/SharpArch.Web/Areas/
更换视图引擎:http: //sharp-architecture.googlecode.com/svn/trunk/src/NorthwindSample/app/Northwind.Web/Global.asax.cs
"区域"的声明(此示例具有名为"组织"的名称空间/区域):http: //sharp-architecture.googlecode.com/svn/trunk/src/NorthwindSample/app/Northwind.Web.Controllers/RouteRegistrar的.cs
该地区的观点:http: //sharp-architecture.googlecode.com/svn/trunk/src/NorthwindSample/app/Northwind.Web/Views/Organization/Employees/
顺便提一下,S#arp架构包括一个CRUD脚手架生成器,它自动考虑嵌套的命名空间.正如Asaf所说,你可以在http://code.google.com/p/sharp-architecture/找到更多相关信息.
比利麦卡弗蒂