代码之家  ›  专栏  ›  技术社区  ›  Jeffrey Lott

ASP.NET:创建同一网站的版本

  •  3
  • Jeffrey Lott  · 技术社区  · 15 年前

    我的新任务是创建现有Web应用程序的第二个版本。目前,我们的应用程序只支持全职经纪人,但现在我们推出了专门针对兼职经纪人的第二个站点。

    新网站将几乎与我们现有网站相同,但有以下例外:

    • 它将有自己的品牌。
    • 用于显示信息的两个用户控件将不同(但所有页面都不会不同)。
    • 我们现有的用户不应该访问新站点,反之亦然。
    • 从Visual Studio中轻松测试两个版本的网站需要很容易。
    • 我们希望尽可能多地重用现有代码。
    • 我有两个星期的时间。

    我希望这是一个常见的场景,外面的人对如何完成这一点有一些建议。

    4 回复  |  直到 15 年前
        1
  •  4
  •   captaintom    15 年前

    我真的,真的不建议分支项目或其他涉及复制基本上相同的代码的路由,除了品牌和授权。这在短期内肯定会更容易,但是,正如您所说,在试图维护几乎相同的代码基时,很快就会变成一场噩梦。

    您的页面可以决定根据登录的用户或全局设置显示哪些控件,以指示这是应用程序的兼职代理版本。你可以有一套观点和逻辑来处理兼职和全职经纪人。由于站点是单独部署的,因此配置设置很简单。如果你有同一个网站的其他版本,你可能需要考虑一下,以确保它能与你的其他版本相适应。

    我甚至会使用相同的数据库,只要您可以使用基于声明(首选)或基于角色的授权或类似的方式来分离适当的数据。

    所有这些都表明,似乎没有任何大的理由可以解释为什么您要偏离使用相同的代码库。

        2
  •  1
  •   spinon    15 年前

    我将创建您的代码的一个分支,然后针对它进行工作。这当然是假设您使用的是版本控制。你不是吗?

        3
  •  0
  •   Chase Florell    15 年前

    我的第一个想法是

    1. 将整个源代码复制到其他IIS网站
    2. 将数据库脚本切换到另一个数据库(新网站的新开始)
    3. 对用户控件和品牌进行必要的调整
    4. 推出新网站(作为测试版)

    在Visual Studio中,可以在同一解决方案中创建新项目,以便同时访问这两个项目。

    如果使用版本控制…创建一个分支,然后从那里开始定制。

    这将为您做的是在两个站点之间提供明确的分离…没有用户可以跨站点访问,所有未来的自定义都将基于每个站点进行,等等。

        4
  •  0
  •   mynameiscoffey    15 年前

    虽然我很喜欢CaptainTom发布的另一个解决方案是将应用程序的显示层与其他逻辑分离,创建一个新项目,在共享其余代码的同时实现新的用户体验。

    即FillTimeBrokers项目和PartTimeBrokers项目,两者都从一个公共代理项目实现其逻辑。