动态页面每次都要经过服务器的处理才会返回,而静态页面会直接提交给用户,当生成一些内容常年不变,如新闻,小说的页面时,选择将发布的内容生成静态页面是很好的选择,这样会降低服务器的负担。
生成静态页面有两种思路。
1:模板替换法。
2:直接生成法。
关于模板替换法,就是事先写好静态页面模板(.html)。在生成时,替换其中的预定义块。比如:
<html>
<head></head>
<body>
<p>{@newsTitle}</p>
<div>{@newsConten}</div> //模板字段
</body>
</html>
在生成静态页面时,用StreamReader读入该文件模板,然后用StreamBuilder载入模板内的文字,接着用数据库中响应的字段替换掉模板字段( .replace()),最后用StreamWrite输出文件。在这个过程中要统一StreamReader和StreamWrite对象的编码(推荐UTF-8),并且在用完资源后要及时关闭StreamReader.Close()和StreamWrite.Close()。
关于直接输出法,就是直接输出HttpWebRequest对象,不推荐这么做,因为第一种很方便,当需要修改风格的时候,直接修改模板的风格就可以。