zoukankan      html  css  js  c++  java
  • 提升基于Windows SharePoint Service对象库开发的asp.net应用程序效率手记. 软件之美,美在缺陷

            日,收到同事的邮件说一个基于Windows SharePoint Service Object Library开发的asp.net页面极慢,目测的页面展现时间为45秒以上,客户自然不满意。正好我当天有些时间,就与同事一起研究了一下。经过近3小时间的逐步检查,发现了问题,检查过程描述如下:
            1.asp.net优化;在web.config中关闭debug调试模式,效果没有明显改善。
            2.检查页面;在浏览器使用查看->源代码检查效率低下的页面的HTML,另存为txt文件后发现文件大于100多KB,怀疑是页面过大引起。因此检查页面代码,在vs.net 2003打开这个项目,定位到效率低下的页面,打开来看到页面上放置了若干个用户控件,由这些控件直接输出html代码。页面中的表格层层嵌套,怀疑就是表格嵌套引起的。我们知道,只有一个表格全部下载到客户端时,浏览器才会显示这个表格。但同事说实际的工作环境中某一个SPS列表(SPList)数量可能有几十万条,因此我先测试了取列表代码的效率,使用TimeSpan类得到执行时间,只花费不到1秒的时间,因此确定不是列表库的问题。但是近1秒的访问时间还可以优化,于是去WSS站点中为这个列表(SPList)建立一个视图(SPView),按日期排序只取10条记录。再次测试只需600多毫秒,接受。
            3.建立一个测试页面,包含效率低的那个页面中的所有控件--去掉表格,发现只需2-3秒页面即可展现。

            建议同事使用iframe 并将那个页面分拆为多个页面。

           总结:由于大页面和表格嵌套引起的页面执行效率低下,并对Windows SharePoint Service 对象模型了解不够的原因。

  • 相关阅读:
    mac 电脑自动登录服务器
    prometheus-operator 监控 k8s 外部集群
    生产prometheus-operator 监控二进制kubernetes
    微信小程序-nginx-https 代理后端服务
    Redis 高可用之哨兵模式
    Redis 高可用之数据持久化
    服务之间连接不上问题分析
    prometheus 告警指标
    错误代码:0x800706BE 解决方法
    泛微OA服务器更改IP地址后EMobile出现“调用远端服务器接口时发生错误(122)”的提示
  • 原文地址:https://www.cnblogs.com/Johnson/p/364846.html
Copyright © 2011-2022 走看看