【问题标题】:Integration of multiple ASP.NET applications多个 ASP.NET 应用程序的集成
【发布时间】:2011-08-09 23:12:18
【问题描述】:

我被要求设计一个集成多个 ASP.NET 应用程序的解决方案,其中一些应用程序很大,其中集成意味着:

  • 共享布局和 CSS
  • 通用页眉、页脚和菜单
  • 只共享一个登录区

我放弃在一个解决方案下加入应用程序,因为它们很大,并且将来可能会有更多应用程序,所以我正在考虑定义一个 MasterPage 或自定义控件,它将包含在每个应用程序的每个页面中。

此 MasterPage 或自定义控件将定义公共部分并控制访问安全性。

您如何看待这个解决方案?其他(更好的)可能性? MasterPage 还是自定义控件哪个更好?

谢谢

【问题讨论】:

    标签: asp.net integration


    【解决方案1】:

    母版页通常用于:

    1. 减少重复代码
    2. 减少重复的脚本和css包含
    3. 为引用它的所有页面提供通用布局
    4. 提供执行逻辑的中心位置

    您也可以在母版页上放置自定义控件,但是对于您想要做的事情,母版页是完美/唯一好的解决方案。

    要共享单个登录区域,您可以创建一个不使用母版页的页面 (Login.aspx)。用户登录后,将他们重定向到相应的页面。

    要控制访问,推荐的方法是使用表单身份验证和成员资格提供程序接口。角色成员资格提供程序将允许您将特定页面和代码路径限制为特定用户组(角色)。

    【讨论】:

    • 谢谢,我想我会选择 MasterPages 解决方案,我忘了说我有 C# 和 VB 应用程序,所以我想我需要 2 个版本的 MasterPage,但我还是更喜欢它其他解决方案。
    • 太棒了。请单击复选标记将此标记为答案(如果这是答案)
    【解决方案2】:

    母版页可能有助于处理需要存在于外壳中的元素,在外壳下,内容可能源自用户控件,而用户控件源自正在集成的目标系统中的代码合并。

    我可能会尝试实现一个用户控件,该控件可以调用处于未修改状态的原始系统。有点像实时屏幕抓取。然后通过将它们串在一起来构建最终站点的原型版本,最终针对结果进行回归测试(当您实际合并代码时)。

    另一个完全不同的角度是将原始网站放入 iframe 中。

    【讨论】:

      猜你喜欢
      • 2016-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-13
      • 2021-02-22
      • 1970-01-01
      相关资源
      最近更新 更多