.net编写的网站程序“瘦身”之—-页面减肥
来源:互联网 发布:穿越火线经常网络异常 编辑:程序博客网 时间:2024/05/01 17:32
.net写的WEB站点程序,在IE中,查看一下源码,可以发现会产生很多的冗余代码,如:
1、Server端控件解析之后的缩进(会在源码中增加Tab键);
2、Server端控件的EnableViewState值;
…
…
对于国内带宽有限的用户来说,会明显的降低页面打开的速度。那么如何解决此问题呢,并且已开发的影响尽量少,或者更改的代码越少越好。经过笔者的实验,总结如下:
1、如何删除Server端控件解析之后,自动加上的缩进字符呢?方法如下:
/// <summary>
/// 重新设置页面html输出流。
/// </summary>
/// <param name="writer">html输出流。</param>
/// <returns>html输出流。</returns>
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:/WINDOWS/system32/inetsrv/gzip.dll,选中 "设置扩展状态为允许",如下图所示:
还没完呢,我们还需要修改一个配置文件,修改之前请先停止 IIS 服务,打开 C:/Windows/System32/inetsrv/MetaBase.xml,这个文件很大,找到下面一段信息:
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"
HcCompressionDll="%windir%/system32/inetsrv/gzip.dll"
HcCreateFlags="1"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="0"
HcFileExtensions="htm
html
txt"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="asp
dll
exe"
>
</IIsCompressionScheme>
增加一些要进行压缩的文件后缀,其中 HcFileExtensions 是静态文件的扩展名,增加 js 和 css 等;HcScriptFileExtensions 为动态文件的扩展名,增加 aspx,保存后启动 IIS 即可生效。
最后我们介绍如何来测试前面所做的工作是否起效,你可能会觉得很奇怪,配置好了,用浏览器打开页面正常,查看页面源码,内容并没有变化,大小也跟原来一样,怎么回事呢?这是因为浏览器已经把内容解压了的结果。
以上是笔者在设计开发《泛东协同管理系统》时,发现的问题及解决办法,希望对大家有帮助。
源文请看:天狼工作室
- .net编写的网站程序“瘦身”之—-页面减肥
- 减肥瘦身方法
- 张雨绮减肥瘦身方法
- JS瘦身有道--选好合适的减肥药
- js瘦身有道--选好合适的减肥药
- CSS:css减肥瘦身工具
- css减肥瘦身工具cleancss
- Windows Vista终极减肥瘦身
- 减肥瘦身三部曲 - 敏捷开发
- ASP.NET学习笔记(一)编写简单网站页面
- 网站减肥
- 页面减肥
- 页面减肥
- 在asp.net网站程序中混合使用php页面的乱码问题
- 如何在.net平台下编写程序使之可以和用vc6.0编写的程序进行网络通信
- ASP.NET温故而知新学习系列之网站安全技术—加强页面间传值的安全性Convert.ToBase64String(三)
- 减肥误区之过度节食减肥的危害
- 【ASP.NET专题】(4)——利用ASP.NET MVC编写自己想要的页面
- 打造自己的个性cmd
- Java中的管道流
- Linux系统下NFS服务器的配置
- 国家计算机病毒中心发现篡改IE的恶意木马
- 用户ID,组ID 文件访问权限,文件与进程属性浅析
- .net编写的网站程序“瘦身”之—-页面减肥
- Delphi图像处理 -- 图像翻转(镜像)
- 解决chm打不开的问题
- 【转载】Java学习路径
- s3c44b0 uClinux环境下的应用程序之hello world
- 抓取邮件
- 最近在看一本UML,有些个人想法
- java获得文件夹或者文件的大小,如果要获得磁盘大小用jconfig效率更高
- Java中调用存储过程