批量生成静态页面

 

using System;

class StaticPage
{
    /// <summary>
    ///  采用直接输出法生成静态页
    /// </summary>
    public static void GetByRedirectOut()
    {
        // 通过Sql语句查询数据库中所有用户的ID,用于做URL中传递的标识
        string sql = "select UserID from UserInfo";
        SqlDataReader dr = SqlHelper.Instance.ExecuteReader(sql, CommandType.Text);
        // 定义将来要访问的动态页的路径,开发文件系统类别的网站时会带有端口
        string url = "http://localhost:1856/Web/ShowUser.aspx?uid=";
        string userId = string.Empty;

        // HttpWebRequest用来与服务器交互
        HttpWebRequest request = null;
        // 服务器响应的相关网诈
        HttpWebResponse response = null;
        Stream stream = null;
        StreamReader reader = null;

        while (dr.Read())
        {
            userId = dr[0].ToString();
            // 模拟客户端请求,生成HttpWebRequest类实例
            request = (HttpWebRequest)WebRequest.Create(url + userId);
            // 获取来自服务器的响应
            response = (HttpWebResponse)request.GetResponse();
            stream = respose.GetResponseStream();
            reader = new SteamReader(stream);
            //一次性读取整个响应的内容
            string result = reader.ReadToEnd();
            reader.Close();   // 关闭字符流对象
            response.Close();   // 关闭HttpWebResponse对象

            // 生成的静态页的保存路径
            string savePathForStaticPage = Server.MapPath("~/StaticPage/UserInfo" + userId + ".html");
            StreamWriter writer = new StreamWriter(savePathForStaticPage, false, Encoding.Utf - 8);
            writer.Write(result);
            writer.Close();
        }
        dr.Close();
        lblStatus.Text = "生成所有静态页面成功!";
    }

    /// <summary>
    ///  采用模板替换法生成静态页
    /// </summary>
    public static void GetByTemplate()
    {

    }
}

 

转载于:https://www.cnblogs.com/acis_/archive/2009/07/13/1522209.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值