IIS中的MVC3结构

IIS中的MVC3结构,iis,asp.net-mvc-3,architecture,Iis,Asp.net Mvc 3,Architecture,我正在制作几个web应用程序。我想在这里做的是: 应用程序应使用不同的应用程序池在IIS中独立运行 有一个主应用程序用作首页,允许用户登录/注销并导航到其他应用程序 我希望其他应用程序使用主应用程序的布局 我所考虑的结构是将主应用程序部署在网站的根文件夹下,并将其他应用程序托管在单独的文件夹下(单独的应用程序和池)。比如: IIS | |__Main app (web site) | |__App1 | |__App2 然

我正在制作几个web应用程序。我想在这里做的是:

  • 应用程序应使用不同的应用程序池在IIS中独立运行

  • 有一个主应用程序用作首页,允许用户登录/注销并导航到其他应用程序

  • 我希望其他应用程序使用主应用程序的布局

  • 我所考虑的结构是将主应用程序部署在网站的根文件夹下,并将其他应用程序托管在单独的文件夹下(单独的应用程序和池)。比如:

    IIS
      |
      |__Main app (web site)
            |
            |__App1
            |
            |__App2
    
    然而,我在这里感到困惑:

  • 我如何重用layout/dll acorss应用程序/池而不将它们复制到每个应用程序中(也许这是一个愚蠢的问题)

  • 如何使用MVC3控制器/操作功能,而不是直接使用硬编码的
    将用户导航到每个应用程序。我真的试过了。看起来主应用程序(MVC3)只能识别自己项目中的控制器和视图

  • 总之,我尝试做的是:在上面的树结构中部署我的应用程序,让主应用程序从子应用程序中获取视图,并显示在主应用程序的框架中

    也许这不是一个好的练习,但是欢迎任何建议


    非常感谢

    听起来你真的想在MVC中使用
    区域。这将不允许您在自己的应用程序池中运行嵌套的“应用程序”,但它将完成您希望执行的所有其他操作(共享布局、DLL、
    Html.ActionLink
    、基于角色的对每个
    区域的访问等)。您可以轻松地在所有区域共享顶级导航,并为每个区域提供不同的子导航。我有一篇分为两部分的博文,内容是关于使用单一布局,在各个领域共享,这可能会给你一些帮助(或想法)

    -使用ASPX视图引擎

    -使用Razor View引擎


    如果您觉得在单个项目的各个区域中使用子应用程序过于死板,您也可以考虑在便携区域中使用子应用程序,然后在顶级应用程序中使用它们。

    我的直觉是,您真的想在这里做些不同的事情。但是,如果不太投入你的设计,你可能想考虑使用结点:它们类似于Linux中的SysLink…如果你对这些都很熟悉,那你为什么想要实现呢?为什么这样做?我只是想让我的应用程序更具可移植性。由于应用程序的功能彼此非常不同,我不想在一个MVC3项目中构建它们,这将使我难以拆分它们。所以我希望他们在不同的项目中。但是,我希望主应用程序在其框架中承载它们。主应用程序的工作方式类似于应用程序展示,它对用户进行身份验证,并根据用户的配置文件显示应用程序。facebook.com就是一个很好的例子。人们在facebook上登录/注销,并可以在其帐户上安装应用程序。谢谢