ASPX文件转HTML

转载 2007年09月25日 14:36:00
我们开发的asp.net系统中,有些动态的页面常被频繁访问,如我们的首页index.aspx它涉及到大量的数据库查询工作,当不断有用户访问它时,服务器便不断向数据库的查询,实际上做了许多重复的工作

服务器端的myPage.aspx
客户端显示myPage.htm
 
客户端访问
 

针对这种资源的浪费情况,我们现在来设计一个解决方案。我们先将那些一段时间内内容不会有什么改变,但又遭大量访问的动态页面生成静态的页面存放在服务器上,当客户端发出访问请求时,就让他们直接访问我们生成的静态页面,过程如下图。

客户端显示myPage.htm
 
客户端访问
 
Execute

 
服务器端的myPage.aspx
 
服务器端的myPage.htm
 

现在我们需要一个后台程序来完成这些事情。
我们可将此做成一个类class  AspxToHtml ,其代码如下:

using System;
using System.IO;
using System.Web.UI;


namespace LeoLu
{
/// <summary>
/// AspxToHtml 的摘要说明。
/// </summary>
public class AspxToHtml
{
/// <summary>
/// Aspx文件url
/// </summary>
public string strUrl;
/// <summary>
/// 生成html文件的保存路径
/// </summary>
public string strSavePath;
/// <summary>
/// 生成html文件的文件名
/// </summary>
public string strSaveFile;


public AspxToHtml()
{
//
// TODO: 在此处添加构造函数逻辑
//
}


/// <summary>
/// 将strUrl放到strSavePath目录下,保存为strSaveFile
/// </summary>
/// <returns>是否成功</returns>
public bool ExecAspxToHtml()
{
try
{
StringWriter strHTML = new StringWriter();
System.Web.UI.Page myPage = new Page(); //System.Web.UI.Page中有个Server对象,我们要利用一下它
myPage.Server.Execute(strUrl,strHTML); //将asp_net.aspx将在客户段显示的html内容读到了strHTML中
StreamWriter sw = new StreamWriter(strSavePath+strSaveFile,true,System.Text.Encoding.GetEncoding("GB2312"));
//新建一个文件Test.htm,文件格式为GB2312
sw.Write(strHTML.ToString()); //将strHTML中的字符写到Test.htm中
strHTML.Close(); //关闭StringWriter
sw.Close(); //关闭StreamWriter
return true;
}
catch
{
return false;
}
}



/// <summary>
/// 将Url放到Path目录下,保存为FileName
/// </summary>
/// <param name="Url">aspx页面url</param>
/// <param name="Path">生成html文件的保存路径</param>
/// <param name="FileName">生成html文件的文件名</param>
/// <returns></returns>
public bool ExecAspxToHtml(string Url,string Path,string FileName)
{
try
{
StringWriter strHTML = new StringWriter();
System.Web.UI.Page myPage = new Page(); //System.Web.UI.Page中有个Server对象,我们要利用一下它
myPage.Server.Execute(Url,strHTML); //将asp_net.aspx将在客户段显示的html内容读到了strHTML中
StreamWriter sw = new StreamWriter(Path+FileName,true,System.Text.Encoding.GetEncoding("GB2312"));
//新建一个文件Test.htm,文件格式为GB2312
sw.Write(strHTML.ToString()); //将strHTML中的字符写到Test.htm中
strHTML.Close(); //关闭StringWriter
sw.Close(); //关闭StreamWriter
return true;
}
catch
{
return false;
}
}
}
}
  
举报

相关文章推荐

aspx转html文件

我们开发的asp.net系统中,有些动态的页面常被频繁,如我们的首页index.aspx它涉及到大量的数据库查询工作,当不断有用户它时,服务器便不断向数据库的查询,实际上做了许多重复的工作 服务...

ASPX文件转HTML

我们开发的asp.net系统中,有些动态的页面常被频繁,如我们的首页index.aspx它涉及到大量的数据库查询工作,当不断有用户它时,服务器便不断向数据库的查询,实际上做了许多重复的工作…… ...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

.aspx文件和.html文件

起初学习牛腩新闻发布系统,对.aspx文件并不是很了解,网上学习完.aspx文件后却又发现好多人提到.html文件,很纳闷!自己学习的不对么?于是才有了这篇文章。对于.aspx文件和.html文件的区...

1、web(html):利用VS2010开发一个跳转页面aspx

本文来自:http://www.cnblogs.com/wxjnew/p/4165243.html 在开发项目的过程中,由于要集成Cognos的报表通过URL,但是Cognos报表的本身URL长度...

【转】ASPX和HTML获取系统根目录的路径

====================================================== 注:本文源代码点此下载 =============================...

【转】在sharepoint网站中添加普通的.aspx文件及其后台代码文件

要在sharepoint网站中添加.aspx文件最简单的方法就是直接将.aspx文件拷贝到layout目录下,.aspx文件的后台代码则直接写在.aspx文件上,有点像asp的写法,缺点是显而易见的。...

IIS可以浏览.aspx网页,但浏览不了.html网页

====================================================== 注:本文源代码点此下载 =============================...

html/aspx/asp

每一个网页或者说是web页都有其固定的后缀名,不同的后缀名对应着不同的文件格式和不同的规则、协议、用法,最常见的web页的后缀名是.html和.htm,但这只是web页最基本的两种文件格式,今天我们来...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)