ASPX 生成html静态页面的问题

先把我做的站简单介绍一下:整个站aspx页面不是很多,10页左右,我想把其中一些要经常访问的页面转变成静态的,这些页面结构都很简单,并且数据量不是很大,但是会页面内容实时性比较强,随着时间变化比较大。我的设计就是在global.asax 里面 用一个 timer 每隔5分钟生成一次静态页面,生成静态页的方法就是 对这个页面一个webquest 然后吧 stream 读到 html 文件里面去。用这种方法 存在两个问题:1.先贴出代码 :

void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
System.Timers.Timer timehtml = new System.Timers.Timer(1000 * 60 * 5);
timehtml.AutoReset = true;
timehtml.Enabled = true;
timehtml.Elapsed = new System.Timers.ElapsedEventHandler(OnTime);
}

void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码

}

void OnTime(object sender, System.Timers.ElapsedEventArgs e)
{
/需要修改
getUrlResponse("http://www.xxxxx.com/atoh.aspx");

}
bool getUrlResponse(string Url)
{
string errorMsg = "";
try
{
System.Net.WebRequest wReq = System.Net.WebRequest.Create(Url);
System.Net.WebResponse wResp = wReq.GetResponse();
}
catch (System.Exception ex)
{
Application["result"] = ex.Message;
return false;
}
return true;
}这个 getUrlResponse 的主要作用就是请求一下 atoh.aspx 这个页面 ,因为 atoh.aspx这个页面的 pageload里调用了一个 函数 这个函数实现了 aspx 到 html 的转换 。
其中主要存在的问题是 :getUrlResponse 每次只能被执行 2次 ,第三次时到 System.Net.WebResponse wResp = wReq.GetResponse();了 这句 执行不下去了
然后就报错 timeout ,请各位大虾帮帮忙。

问题2:这种生成静态页面的方法,也是从网上拷贝过来,然后自己改了改,当时就觉的这种方法简单,后来看到有人说这个是最傻的方法。我挺费解,我觉的这种方法还行吧,至少不会占用系统很多资源。本人是菜鸟,熟悉可能比较浅,请大虾门指教一下,对于我做的站的这种需求,我用的这种方法适用吗?是不是有更稳定 更高效的方法。

网友回复:既然固定5分钟,不如用OutputCatch了
网友回复:路过,友情 up
网友回复:在ASP.NET 2.0中,有时候需要对ASP.NET生成的HTML代码进行处理,或者是保存成静态文件。ASP.NET 提供了直接将请求保存成文件的方法:HttpRequest.SaveAs方法。下面这个方法就是在ASP.NET 2.0中得到ASP.NET生成的HTML代码,同时,生成一个静态文件的方法。

C#

<%@ Page Language="C#" AutoEventWireup="true" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
// 计算数据,完全可以从数据看取得
ICollection CreateDataSource( )
{
System.Data.DataTable dt = new System.Data.DataTable();
System.Data.DataRow dr;
dt.Columns.Add(new System.Data.DataColumn("学生班级", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("学生姓名", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("语文", typeof(System.Decimal)));
dt.Columns.Add(new System.Data.DataColumn("数学", typeof(System.Decimal)));
dt.Columns.Add(new System.Data.DataColumn("英语", typeof(System.Decimal)));
dt.Columns.Add(new System.Data.DataColumn("计算机", typeof(System.Decimal)));

for (int i = 0 ; i < 50 ; i )
{
System.Random rd = new System.Random(Environment.TickCount * i); ;
dr = dt.NewRow();
dr[0] = "班级" i.ToString();
dr[1] = "【孟子E章】" i.ToString();
dr[2] = System.Math.Round(rd.NextDouble() * 100, 2);
dr[3] = System.Math.Round(rd.NextDouble() * 100, 2);
dr[4] = System.Math.Round(rd.NextDouble() * 100, 2);
dr[5] = System.Math.Round(rd.NextDouble() * 100, 2);
dt.Rows.Add(dr);
}
System.Data.DataView dv = new System.Data.DataView(dt);
return dv;
}

protected void Page_Load( object sender, EventArgs e )
{
if (!IsPostBack)
{
GridView1.DataSource = CreateDataSource();
GridView1.DataBind();
}
}
protected override void Render( HtmlTextWriter writer )
{
System.IO.StringWriter html = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter tw = new System.Web.UI.HtmlTextWriter(html);
base.Render(tw);
System.IO.StreamWriter sw;
sw = new System.IO.StreamWriter(Server.MapPath("a.htm"), false, System.Text.Encoding.Default);
sw.Write(html.ToString());
sw.Close();

转载于:https://www.cnblogs.com/126163/archive/2008/06/27/1230822.html

ASPX 生成html静态页面的问题相关推荐

  1. 黑马程序员——生成html静态页面,方便seo,加快加载速度

    ---------------------- Windows Phone 7手机开发..Net培训.期待与您交流! ---------------------- 这几日,同学问我怎样将动态页面直接生车 ...

  2. freemarker自动生成html页面,HTML+CSS入门 Freemarker如何生成HTML静态页面

    本篇教程介绍了HTML+CSS入门 Freemarker如何生成HTML静态页面,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 做一个网址导航的项目,面向用户的就是一个首 ...

  3. PHP简易实现批量生成html静态页面

    PHP简易实现批量生成html静态页面 大家好,我骇Yangrl. 原来哈起一坨(蠢萌),写了页面以后,复制十份,挨着改里面的文本,imp,url等内容,做成十张页面(类似新闻详情页啊,商品详情页等) ...

  4. asp批量生成html静态页面方法

    随着网站访问量的加大,每次从数据库读取都是以效率作为代价的,很多用ACCESS作数据库的更会深有体会,静态页加在搜索时,也会被优先考虑.互联网上流行的做法是将数据源代码写入数据库再从数据库读取生成静态 ...

  5. Freemarker生成HTML静态页面

    这段时间的工作是做一个网址导航的项目,面向用户的就是一个首页,于是就想到了使用freemarker这个模板引擎来对首页静态化. 之前是用jsp实现,为了避免用户每次打开页面都查询一次数据库,所以使用了 ...

  6. mysql制作html静态网页6_将数据库中的所有内容生成html静态页面的代码

    将数据库中的所有内容生成html静态页的代码,比较简单了,有需要的朋友可以参考下. 复制代码 代码如下: require_once("conn.php"); if($_GET['a ...

  7. Asp.net如何生成html静态页面

    2009-11-28 11:34:36)转载此功能适用于后台数据库功能不强的web站点,即大部分文本不是存放在数据库的记录中,而是放在html文件或者xml文件中,仅仅把索引放到数据库中,如文章标题. ...

  8. asp .net 模板引擎 使用 Razor 生成html静态页面

    刚开始不是理解 写完之后 觉得还蛮简单的 分为这几个步骤 1.获取页面模板Html 2.获取数据 3.解析模板和数据,生成静态页Html代码 4.生成静态文件 模板形式是mvc的模式,会mvc 看一下 ...

  9. php html实例代码,PHP生成HTML静态页面实例代码

    为cd2sc.com网站功能而开发,代码为本人原创,生成速度一般. (出于众所周知的原因,涉及到数据库的数据字段名称做了改动,并且为了代码明晰去掉了参数过滤的部分) 说明:原动态地址为 moban.p ...

  10. asp.net中关于静态页面生成的代码实例

    目前网页html静态化是利用其它的动态技术生成html静态页面,还不是静态网站.因为的确是这样的,生成html静态网页有一定的好处.      一.加快页面打开浏览速度,静态页面无需连接数据库教程打开 ...

最新文章

  1. 文凭-决定的人生成败?下
  2. java-数据库连接,分层实现增删改查测试
  3. C++STL的queue容器
  4. 使用create-react-app模板模仿12306app
  5. Mysql中Check约束无效的原因以及解决方法
  6. 计算机原理及应用课程,课程描述
  7. Hadoop—数据仓库分层介绍
  8. 蓝鸽智慧计算机教室云服务平台操作说明,蓝鸽VDI云网络教室方案.pdf
  9. 2016安卓手机安全隐私之对比与分析
  10. 实施工程师面试技巧 –立哥经验
  11. 基于小梅哥AC620开发板的NIOS II LWIP百兆以太网例程
  12. c语言编文曲星游戏,关于汉诺塔游戏的思路(就是最早文曲星上移盘子的那个)...
  13. Spectrum数据采集卡和任意波形发生器在杨百翰大学声波研究中的应用
  14. ASO免费优化技巧:小米应用首发,小米aso优化怎么做
  15. visio的细的箭头
  16. Note For Linux By Jes(14)-启动流程、模块管理与 Loader
  17. 小米盒子访问计算机硬盘,无需电脑教你手机数据传到小米盒子外置硬盘的教程...
  18. 优粉吧-微信大号推广微信公众平台大号直发转发自媒体推广
  19. HTML怎么打双引号,双引号怎么打出来
  20. FastAPI--参数提交Request Body(3)

热门文章

  1. 记一次计算机课作文,记一次有趣的作文课作文800字
  2. iso 开发学习--简易音乐播放器(基于iPhone4s屏幕尺寸)
  3. java零基础风清扬黑马笔记
  4. 折叠面板(Collapse)
  5. 3dmax2014卸载/安装失败/如何彻底卸载清除干净3dmax2014注册表和文件的方法
  6. Unity使用BMFont制作字体
  7. 期货的结算价和收盘价(期货的结算价和收盘价一样吗)
  8. MySQL事务之幻读问题
  9. 2016首次CCCC总结
  10. 2020Google开发者大会总结