0

I am trying to determine the best way to do this.

Basically, I have a child app that runs inside of a parent app in IIS. I want to be able to run this app inside of the parent app (using the same layout and functionality)

What is my my best bet for doing this? Running the app in an iFrame? Loading the app through jQuery into a div? Or should I create a web service that sends the parent app's layout to the child app?

Any guidance is appreciated.

4

3 回答 3

3

你在这里谈论的是作曲。您可以应用一大堆不同的构图模式,每种模式各有利弊。堆栈溢出并不是一个很好的地方来回答什么是“最佳”模式,但这里有一些我能想到的:

服务器端组合模式

  • 使用 MVC 共享布局文件
    • 此方法使用两个站点共享的 DLL 中的布局文件来呈现所有页面
    • 它很容易实现,但意味着您需要在文件更改时释放两个站点
    • 这鼓励了站点之间的强耦合(这是不好的)
  • 基于子请求的渲染
    • 在 Internet 上只有一个父站点,在运行时从子站点的内部 url 请求内容块
    • 在内容方面松耦合,但在 url 方面强耦合
    • 许多子站点可以被拉入并且彼此不耦合
    • 父/子站点可以独立发布

客户端组成

  • 框架
    • 真的低保真,很容易实现
    • 在框架和父级之间有一堆非常可怕的东西要处理的 css 和 javascript
    • 开发人员通常认为这是一个坏主意(意见)
    • 仅通过 URL 耦合,站点可以独立发布
  • 内容中的 Ajax
    • 在页面加载时对来自其他站点的组件执行 ajax 请求
    • 增加页面加载时间并在加载位时使 ui 闪烁
    • 很容易实施和管理
    • 仅通过 URL 耦合,站点可以独立发布
于 2013-04-22T05:49:32.973 回答
0

您可以在您的应用程序 iFrame 上使用Area,或者直接为您的子应用程序打开一个新的浏览器选项卡。

如果你想将你的项目包含在一个 dll 中,你可以将所有的视图编译成一个 dll 并在你的父应用程序中引用它,这个网站解释了如何做到这一点。

于 2013-04-22T05:22:25.000 回答
0

我建议您使用这种方式来制作子应用程序的空布局,并使用 JQuery 将其呈现到父应用程序的 div 中。IFrame 应该留在过去。

于 2013-04-22T05:24:49.447 回答