结合两个ASP.NET Core MVC项目

时间:2017-10-05 10:50:01

标签: c# asp.net-mvc visual-studio asp.net-core-mvc smartadmin

我目前正在使用ASP.NET Core MVC开发一个应用程序。我也尝试使用SmartAdmin(ASP.NET核心版)作为我的管理面板。我希望的方法是将SmartAdmin与我自己的项目分开。但是,我仍然希望能够在SmartAdmin项目中使用我的应用程序模型。那么,在同一个解决方案下集成两个不同的ASP.NET核心项目的正确方法是什么,使它们在同一个IIS(相同的端口)下运行并让每个项目访问其他模型?

1 个答案:

答案 0 :(得分:0)

  

那么,在同一个解决方案下集成两个不同的ASP.NET核心项目的正确方法是什么,使它们在同一个IIS(相同的端口)下工作并让每个人访问其他模型?

你不能。如果您希望两个应用程序位于同一个域/端口上,那么您可以使用两个不同的项目做的最好的事情是将它们中的至少一个放入同一虚拟目录的子目录中(并将该子目录配置为IIS应用程序)。但它们是作为2个单独的应用程序制作的,并且它们将保留2个单独的应用程序。

wwwroot
   webapp1 (configured as IIS application)
      webapp2 (configured as IIS application)

您可以将它们放入类库项目中,然后从两个应用程序引用该项目,在两个不同的应用程序之间共享模型。

尽管如此,如果没有大量工作,您的应用程序将无法共享cookie,会话状态,登录/注销状态,配置信息等。

将2个ASP.NET核心项目置于同一解决方案下并不会将它们神奇地转变为一个应用程序。将多个项目组合到单个应用程序中的唯一方法是将其中一个项目作为ASP.NET Core项目,将其他项目作为类库。这是在构建应用程序时必须做出的决定,而不是在部署应用程序时。