在一个ASP.NET MVC 5解决方案中具有单独的项目

时间:2015-04-22 08:02:24

标签: c# asp.net asp.net-mvc asp.net-mvc-5 asp.net-identity

我想在一个ASP.NET解决方案中有很多项目(比如20个)。所有项目都有自己的数据库,模型,视图和控制器。 你能告诉我怎么做吗?网址将如何?如果解决方案中有一个项目,就像这样:

  

本地主机:12345 /控制器/视图

当有更多项目时,这样的配置是否正确? :

  

本地主机:12345 /项目名/控制器/视图

还有一件事,我打算使用Identity 2.0 Framework。用户登录一次时是否可以登录所有项目?感谢。

2 个答案:

答案 0 :(得分:4)

  

你能告诉我怎么做吗?网址将如何?

你可以拥有' n'解决方案中的项目数量。您需要使用RouteConfig.cs来处理它,如果您有三个项目,那么项目1'项目2'项目2'和' Project3'。然后您的相应路线配置将如下所示:

routes.MapRoute(
    name: "Default_1",
    url: "Project1/{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

同样,

routes.MapRoute(
    name: "Default_2",
    url: "Project2/{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
  

用户是否可以在所有项目中登录   登录一次?

是的,这绝对是可能的。 但是开箱即用的ASP.NET身份不支持多个应用程序。有人说它是通过Single Sign On

实现它的开发人员任务

链接:How to implement it

希望它有所帮助!

答案 1 :(得分:2)

您可以在一个解决方案中拥有所需数量的项目。只需右键单击Project Explorer窗口中的解决方案,然后选择Add New Project。在每个项目的属性中,将其根目录设置为/ applicationname。

您需要查看oAuth的详细信息以实现单点登录方案,我无法真正帮助您,但这是该实现背后的全部目的,因此它绝对是可能的。