我正在开发一个大型ASP.NET MVC应用程序。我目前正在研究我将用于构建控制器/视图的机制。我看到有人提到单轨铁路,并且它使用了“区域”。我查看了Haacked's文章,它看起来像一个有趣的选项。我想知道的是,是否有人在生产的ASP.NET MVC应用程序中实现了区域,并且他们是否有任何可能有助于实现这些区域并证明其存在的在线资源。
答案 0 :(得分:27)
我和我的团队目前正在使用ASP.NET MVC框架作为底层技术开发一个非常大的应用程序。我们正在使用Areas,Strongly Typed View Names和我们自己的Localisation版本。到目前为止,它的合作非常顺利。
对我来说,与ASP.NET MVC的交易破坏者将是控制器名称必须是唯一的。完全可以预见的是,需要一个控制器来管理库存中的库存并调度我的应用程序区域,并对这些区域进行分类会非常困难。对于区域,这不再是一个问题。我强烈建议像Phil Haack所概述的那样使用它们。或者你可以看看Steven Sanderson's implementation他已经把它放得更远了,虽然对我们来说这不是我们需要的东西。
我很快就会看到区域很快就会在ASP.NET MVC中实现。
祝你的应用程序好运,我认为你不会后悔选择ASP.NET MVC。
答案 1 :(得分:5)
在我看来,大型应用领域的支持至关重要。对我来说,微软打算在没有内置支持的情况下发布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/)的指导,但修改了合并结果以支持视图文件夹下的区域。 (我不喜欢有一个单独的“区域”文件夹来保存您的视图区域。)换句话说,如果您创建一个带有相应控制器Animals.AardvarksController的“Animals”区域,您的Views文件夹将反映Views / Animals /土豚。
如果您对使用所有S#arp架构不感兴趣,我建议您至少查看在此框架中如何实现区域以便在您自己的应用程序中使用。相关代码包括:
顺便提一下,S#arp架构包括一个CRUD脚手架生成器,它自动考虑嵌套的命名空间。正如Asaf所说,你可以在http://code.google.com/p/sharp-architecture/
找到更多相关信息Billy McCafferty
答案 2 :(得分:2)
取自S#arp apchitecture 1.0 Beta发行说明:
包含视图“区域” 作为子文件夹无缝支持 在Views文件夹下