【问题标题】:Integrating ASP.Net and ('classic') ASP in existing app在现有应用程序中集成 ASP.Net 和(“经典”)ASP
【发布时间】:2011-07-22 15:05:47
【问题描述】:

我想要一些关于托管当前 ASP 应用程序的 ASP.Net 部分的最佳方式的建议。

我们有一个用(“经典”)ASP 编写的大型复杂应用程序。

其中一部分需要重写(不幸的是,重写所有部分是不切实际的),我们将使用 ASP.Net。

(原始应用根本没有显式使用 Session 对象)


在我看来,有两种方法可以继续托管这个。

选项 1:创建一个新的虚拟目录并从那里为应用程序的新重新开发部分提供服务 - 根据需要在 ASP 和 ASP.Net 之间来回链接

选项 2:留在现有的虚拟目录中,并将整个 ASP.Net 应用程序放在当前 ASP 目录的子目录中


显然选项 1 是“更干净”的,我倾向于这样做。

但是,从源代码控制和安装的角度来看,选项 2 可能更简单。

  • 在源代码控制中,只有一个“主干”,在需要更改时将检查整个主干。
  • 在安装时(由任意技术人员在多个位置使用 Inno 安装程序完成),技术人员只需选择一个虚拟目录并将其全部放入其中。

我很想听听那些做过选项 1选项 2(或者可能是其他方式?)的人。

也有兴趣了解我忽略的任何一种方法是否存在问题。

【问题讨论】:

  • 我认为hosting 标签不应该出现在这个问题上。相反,您可以为source-controlsvn 添加标签

标签: asp.net iis asp-classic hosting


【解决方案1】:

很久以前(大约 3 年前)我做过一个类似的项目,客户有一个经典的 ASP 站点,他们想在 ASP.NET 中开发新功能。我遵循方法二,在根目录中创建了另一个 VD 以将所有文件放在那里。从源代码控制管理的角度来看,优势是显而易见的。但是,我必须在我的设置中添加一个额外的步骤来为我的子 VD 设置 ASP.NET 版本以使其工作。共享会话也是另一个问题,我相信你没有你描述的问题。

【讨论】:

    【解决方案2】:

    我是双向的:

    选项2:我有经典的 ASP 应用程序,并使用相同的虚拟目录在 ASP.NET 2 中添加了新页面,一切正常,但您需要传递会话信息,我记得我为此使用了 QueryString,您可以查看 @ 987654321@。如果你不使用 session 那就更简单了。

    选项 1:从同一个 ASP 应用程序中,我使用主应用程序菜单中的链接调用了 ASP.NET 应用程序(另一个虚拟目录)。但在这种情况下,它是逻辑上分离的部分。在这种情况下,我也通过 QueryString 传递了会话信息。

    所以,总而言之,我认为这完全取决于这部分的逻辑与主应用程序逻辑的连接程度。

    在选项 1 的情况下调试很容易。 如果是选项 2,您可以逐页替换。

    【讨论】:

      【解决方案3】:

      从编码的角度来看没有严重的影响。差异主要是审美上的。我倾向于选项#2。它允许我选择为 asp.net 代码使用不同的 IIS 配置 - 以防我将来需要它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-05-12
        • 1970-01-01
        • 2018-10-29
        • 1970-01-01
        • 2012-03-23
        • 2014-06-03
        • 2011-05-05
        相关资源
        最近更新 更多