asp.net中可自定义的UI

时间:2011-03-14 07:26:35

标签: c# asp.net

我正在开发一个产品,它使用asp.net处理表驱动表单,我们声明了一个页面和控件的部分,这些部分将出现在该部分中。可以进入特定控件的可能值也是数据库驱动的。基本思想是根据每个客户的要求定制ui和应用程序流。但这种方法缺乏性能。在客户端渲染页面的速度非常慢。请建议替代这种方法。

3 个答案:

答案 0 :(得分:0)

就个人而言,我宁愿首先尝试找到为什么 它的速度很慢。

通常情况下,运行快速性能分析器会话(例如使用Red Gate的ANTS Performance Profiler)可以了解为什么它很慢。

在你发现为什么它很慢之后,你可以决定是否

  • 优化您当前的算法 - 或 -
  • 切换到新算法。

答案 1 :(得分:0)

如果您认为服务器端没有问题,请从db或其他一些代码隐藏的东西中选择数据。你应该检查页面的viewstate并尝试降低它。你确定你在服务器端没有任何问题吗?

答案 2 :(得分:0)

缺陷主要在于细节,即数据驱动UI的实际实现。您必须对应用程序进行概要分析,以找出导致应用程序变慢的原因。这项练习可以有很多方面。例如,

  1. 服务器端处理速度慢 - 您可以使用简单的方法作为日志记录/跟踪(或分析器应用程序)来找出您失去时间的位置。
  2. 慢速网络 - 您可以发出一个页面的大量资源请求,大页面大小(由于视图状态和/或脚本和样式的内嵌)等。使用fiddler / firebug / browser-等工具>查看来源以确定此类问题。
  3. 浏览器速度慢(客户端) - 使用效率低下的标记和脚本会使您的网站变得迟钝。
  4. 您可以尝试各种方法来提高性能 -

    1. 尝试缓存内容 - 您可以缓存元数据(表单的定义),可以缓存用户数据,可以缓存“处理”,即某些涉及的处理结果。例如,您可以缓存渲染的空白表单的标记,并在用户请求空白表单时提供它。
    2. 压缩您的回复,缩小您的脚本,外化风格&脚本
    3. 使用ajax获得更好的用户体验
    4. 考虑诸如动态编译之类的东西 - 例如,您可以为表单生成源代码并编译它们而不是按需生成