当您有很多控制器时,在单个项目解决方案中引入区域确实可以提高分离度,并允许将模块轻松复制到解决方案中或从解决方案中复制出来。然而,在大型企业解决方案中,我更倾向于将逻辑拆分为单独的项目。
因此拥有独立的 UI、控制器、SOA、模型和存储库项目。在这种情况下,区域不再有意义,而且它们为 Url 添加了一个通常不需要的额外顶层,尽管我相信如果您保持控制器的唯一性,您可以省略 Url 中的区域,但不是那有点臭?
也许区域适用于中等复杂度的站点,或者当模块代码更好地保存在一个位置以便可以将其复制到其他站点或删除时。