收藏本站 | 联系我们
 
核心业务
> 信息系统集成与服务
> 企业级应用软件
> 文化传媒业务
> 信息技术产品贸易
> 消费类电子产品
> 天使投资
 
内容页面  
.net编写的网站程序“瘦身”之
———页面减肥
----崔占民发布日期: 2010-01-08 14:23:42
  核心提示:

    .net写的WEB站点程序,在IE中,查看一下源码,可以发现会产生很多的冗余代码,如:Server端控件解析之后的缩进(会在源码中增加Tab键)、Server端控件的EnableViewState值等。
  对于国内带宽有限的用户来说,会明显的降低页面打开的速度。那么如何解决此问题呢?经过笔者的实验,总结如下:
1、如何删除Server端控件解析之后,自动加上的缩进字符呢?方法如下:
///
/// 重新设置页面html输出流。
///

/// html输出流。
/// html输出流。
public static HtmlTextWriter GetWriter (HtmlTextWriter writer)
{
      writer = new HtmlTextWriter (writer.InnerWriter, "");
     return (writer);}
将此函数定义到公共App_Code中,也可以定义一个公共类中,自己决定。
protected override void Render (HtmlTextWriter writer)
{
    writer = GetWriter (writer);base.Render (writer);}
将函数放到每个页面里,为了查找方便,建议放到Page_Load上面,注意是与Page_Load平级。
2、如何设置Server控件的EnableViewState属性,以减少Server端控件解析之后生成的大量的代码。
1)对于提交之后,不需要保存值的Server控件,需要将此属性设置为false;
2)对于不需要使用Server控件的情况,建议使用Html控件。
3、建议将javascript代码与页面分隔,因为javascript分离成js文件,浏览器打开页面时,会检测缓存目录里是否有js文件,如果有,则直接使用,不再从服务器上重新下载。这样可以节省很多的时间,加快页面的打开速度。
4、通过设置IIS来回忆页面加载速度。这一招可以算是最后一个解决办法了。建议在其他优化都做好之后,再通过此方法解决。
打开 Internet 信息服务(IIS)管理器,右击"网站"->"属性",选择"服务"。在 "HTTP压缩" 框中选中 "压缩应用程序文件" 和 "压缩静态文件",按需要设置 "临时目录" 和 "临时目录的最大限制",如下图所示:


接下来配置 gzip 组件,在 Internet 信息服务(IIS)管理器,点击 "Web 服务扩展"->"增加一个新的 Web 服务扩展...",在 "新建 Web 服务扩展" 框中输入扩展名 "HTTP Compression",添加 "要求的文件" 为 C:INDOWSystem32netsrvzip.dll,选中 "设置扩展状态为允许",如下图所示:
还没完呢,我们还需要修改一个配置文件,修改之前请先停止IIS服务,打开 C:indowsystem32netsrvetaBase.xml,这个文件很大,找到下面一段信息:
 
 

 


  HcCompressionDll="%windir%ystem32netsrvzip.dll"
  HcCreateFlags="1"
  HcDoDynamicCompression="TRUE"
  HcDoOnDemandCompression="TRUE"
  HcDoStaticCompression="TRUE"
  HcDynamicCompressionLevel="0"
  HcFileExtensions="htm
   html
   txt"
  HcOnDemandCompLevel="10"
  HcPriority="1"
  HcScriptFileExtensions="asp
   dll
   exe"
 >

  增加一些要进行压缩的文件后缀,其中 HcFileExtensions 是静态文件的扩展名,增加 js 和 css 等;HcScriptFileExtensions 为动态文件的扩展名,增加 aspx,保存后启动 IIS 即可生效。
  最后我们介绍如何来测试前面所做的工作是否起效,你可能会觉得很奇怪,配置好了,用浏览器打开页面正常,查看页面源码,内容并没有变化,大小也跟原来一样,怎么回事呢?这是因为浏览器已经把内容解压了的结果。
  以上是笔者在设计开发《泛东协同管理系统》时,发现的问题及解决办法,希望对大家有帮助。
社会公益 | 招贤纳士 | 隐私保护 | 使用条款 | 资质荣誉 | 组织结构 | 注册商标 | 站点导航  
使用本网站表示您同意它的条款
Copyright 1998-2008 By Allrun All Rights Reserved ICP证编号:辽B-2-4-20050056

南京厚建软件 LivCMS 内容管理系统http://www.hogesoft.com 授权用户:http://www.c4m.cn