页面静态化

页面静态化原理:向每个页面发出请求,执行每个页面,然后下载每个页面的源文件,然后保存在服务器文件夹中。

 

 

前台代码:

<a href='<%#Eval("Id") %>.htm'><%#Eval("Title") %></a>

 

 

WebClient也是一个浏览器,它是向aspx页面发请求获得html内容,不是下载aspx,而是下载aspx执行的结果生成的html  !

打开浏览器

WebClient wc = new WebClient();

WebClient是个浏览器,在服务器端,加载http://localhost:4171/Art/ViewArticle.aspx?id=3这个页面,然后利用WebClient的方法DownloadFile方法,把aspx执行的结果生成的html  下载下来,保存在文件夹中,即为静态化。


批量静态化代码:

          //批量静态化
        protected void btnStatic_Click(object sender, EventArgs e)
        {
            //从数据库中获取所有文章
            RP_ArticleBLL artbll = new RP_ArticleBLL();
            var arts = artbll.GetAll();//通过BLL层的GetAll函数获取数据库中的所有文章
            //遍历获取的文章,利用wc.DownloadFile把从数据库中获取的文章都下载下来,保存为静态页面,保存在/Art/中
            foreach (var art in arts)
            {
                WebClient wc = new WebClient();
                wc.DownloadFile("http://localhost:4171/Art/ViewArticle.aspx?id="+art.Id,Server.MapPath("~/Art/"+art.Id+".htm"));
            }
        }

你可能感兴趣的:(页面静态化)