创建单独的项目或使用区域

Creating Separate Projects Or Using Areas

我正在从事一个与供应商有关的项目,供应商将有一个管理界面来管理他们的库存,买家将购买供应商展示的产品并且也有管理员。哪个更好,在同一解决方案中为每个类别角色创建一个单独的项目或创建区域是最好的

同一网络应用程序中的多个区域将共享同一身份验证令牌。意思是,登录后,用户可以浏览到该区域而不需要登录。对于不同的项目,您需要做一些工作才能获得此行为(基本上它们都必须使用相同的身份验证 cookie 并具有相同的密钥)。如果他们不共享同一张票,那么每个项目都必须让用户独立登录

另一件需要考虑的事情是 url 定制。对于区域,您可以自定义区域控制器的 url 和区域本身。您可以在房间网站级别设置自定义路由以指向区域文件夹中的控制器。例如

假设您有 http://www.yoursite.com/blog/article/index (article controller of the blog area), you can create a custom route off the root site so that http://www.yoursite.com/article 指向同一个地方。这要困难得多,如果不是不可能的话,因为你依赖于文件夹结构。

但是,子项目的一个好处是您可以单独构建它们并在不修改根站点的情况下部署它们。这可以通过便携式区域的概念对区域进行。