【问题标题】:ASP.NET Saving webpage layout in a smart and fast wayASP.NET 以智能快速的方式保存网页布局
【发布时间】:2009-09-17 09:55:33
【问题描述】:

alt text http://www.pafo.net/example.png你好!

我不知道我应该为这个关于 ASP.NET 和保存网页布局的问题命名。我将指的是 BBC 只是说明我所追求的。 http://news.bbc.co.uk/

该页面每天将有大约 10,000-20,000 名访问者。我有一个 MS SQL 2008 数据库,我正在编程 ASP.NET (C#) 3.5。

我正在建立一个像 BBC 这样的杂志/报纸,但格式更小,现在管理员必须能够设置一般页面的样式(如经济学、政治学等)并放置要显示的文章以及如何显示它们.在 BBC 页面上(当我现在正在查看时)您在第一行有一篇大文章,然后在第二和第三行有 2 篇较小的文章,然后是一个带有“特征、观点、分析”的框。我附上了一张用不同颜色绘制的区域的图片。我不允许管理员修改常规页面的外观,从而将新闻按顺序排列。

  • 我遇到的第一个问题是如何保存它以优化速度,既可以用于获取网页,也可以用于编辑它。所以我认为在 XML 文档中以 XML 格式保存页面可以让我添加我想要的功能,因为我可以修改 XML 并在扩展程序时添加新标签。但问题是将其加载到客户端,当管理员按下保存时,我可以在服务器上创建一个 .aspx 页面,或者我可以在每次有人想要显示网页时动态加载它。关于性能的任何想法?

所以流程是: 1) 管理员在管理面板中更改特定页面上的布局,他或她更改要显示的文章以及放置它们的位置。 (单,在另一篇文章旁边等) 2) 然后管理员保存更改。 3) 用户现在可以查看更新后的布局 4) 管理员可以重新加载布局以进行进一步的更改。

  • 第二个问题是我在右侧有小框,这些框中的内容可能反映文章/网页,也可能是不同的东西。管理员在创建文章时选择要使用的框。现在,如何保存这些信息并有效地加载盒子。盒子在创建时面临与上述相同的问题,如何以良好的方式保存它们以便文章可以快速加载它们。 我正在考虑将上述信息保存在 XML 文档中。当管理员创建一篇文章时,我将盒子 ID 号保存在 MS SQL 2008 数据库的某个表中,并将 ID 号保存到正确的文章中。但是同样的问题出现了,我应该动态加载这些框还是将每个框创建为 Web 用户控件然后加载它,例如:WebControl_1234 boxControl = (WebControl_1234)LoadControl("Data path" + box_id_from_sqlserver);

有什么想法吗?

【问题讨论】:

    标签: asp.net database layout storage dynamic


    【解决方案1】:

    哇,这是一个“长问题”。您可能需要考虑以您最熟悉的方式构建它,例如DB中的数据,aspx中的布局,动态/静态WebControls等。

    在完善之前让它工作,然后运行一系列测试以了解性能和可扩展性。缓存机制可能是一个有用的开始。

    这绝不是一个完整的答案,只是开始滚动。

    【讨论】:

    • 在我开始编程之前,我希望能得到一种性能最佳的提示女巫方法。
    • 好吧,我个人的看法是,可能没有最佳答案。如果您的首要任务是性能,您可能不得不放弃灵活性或上市速度。性能是一项棘手的工作,通用的最佳实践确实有帮助,但很大程度上取决于使用的性质、内容的类型/数量、更新频率等。如果我能提供任何提示,我会建议三个。首先是良好的数据模式,其次是有效/最佳的数据获取(例如您的 SQL 查询),第三是研究缓存机制和策略。祝你好运!
    【解决方案2】:

    如果性能是重中之重,那么没有什么比静态 html 更好的了。

    那么,你觉得如何制作一个系统,让管理员可以更改布局,然后将生成的页面保存为 html,以便网络服务器可以选择它?

    来自CodingHorror.com

    Movable Type 的表现如何 秘密?最长的时间——几乎 5年——我用的是我的版本 从 2.66 开始。那个版本的 Movable Type 撰写每个新博客 以单个静态方式进入磁盘 HTML 文件。事实上,每个博客条目 你看到这里是一个物理的 HTML 文件, 由 IIS 提供,就像它一样 提供任何其他 HTML 文件 在一个文件夹中。速度快如闪电,而且 服务数十万 浏览量是没有汗水的。一动态 页面的特征 cmets 是 通过回发 CGI 处理 每次将页面写回磁盘 添加了新评论。 (这也是 偶尔评论的来源 磁盘写冲突,当两个 评论者碰巧发表评论 同时。)是的,有点 原始的,但它也非常 KISS 的精神:为什么不做 最简单的可能的事情 工作吗?

    【讨论】:

    • 类似的东西,我希望管理员能够以不同的方式显示文章,比如在图片上。所以我预定义了 4-5 种不同的方式来显示文章。问题是如何保存它。例如,XML 加载速度有多快?如果我将文章显示保存为 XML 并在每次刷新页面时加载 XML 文档?它的加载速度有多快?它还需要它从数据库中加载文章描述。
    • 我正在考虑保存生成的 HTML。管理员设置好文章所需的方式后,您可以在 ASP 页面上调用“WebRequest.Create”并保存生成的 HTML
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    相关资源
    最近更新 更多