求全站静态化思路 如题,还有淘宝的那个分类是如何静态化的呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 url重写一些不会变的可以直接生成静态页面(如新闻显示页之类的) 新闻类页面生成静态页面其他可以考虑URL重写或者伪静态 用url重写伪静态吧!呵呵后缀变成.html的 经常不变的才会生成html 分类列表可以生成html 通过模板或urlrewriter等重写url.还要使用cachehttp://topic.csdn.net/u/20090216/23/200596a5-24cc-4f40-8f24-f29b5e786c4c.html #region 批量生成静态核心 public static string BatchBuildHtml(string newsID, string fileName, string pageIndex, string webPath) { //还没有生成过静态文件,生成过静态文件的路径 string softURL = ConfigurationManager.AppSettings["HtmlTemplet"].ToString(); softURL += "?nid=" + newsID + "&pid=" + pageIndex; try { WebRequest wReq = WebRequest.Create(softURL); WebResponse wResp = wReq.GetResponse(); DateTime updated = ((HttpWebResponse)wResp).LastModified; Stream respStream = wResp.GetResponseStream(); StreamReader reader = new StreamReader(respStream, System.Text.Encoding.GetEncoding("gb2312")); string respHTML = reader.ReadToEnd(); string[] tmp = fileName.Split('/'); Directory.CreateDirectory(webPath + tmp[0] + "\\" + tmp[1]); //建立文件夹 //respHTML =respHTML.Replace(" ",""); //去制表符 //respHTML =respHTML.Replace("\r\n",""); //去回车换行 //新版生成 //存放文件的物理路径——文件夹 tmp = fileName.Split('_'); string saveSoftPath = webPath + tmp[0] + "_" + tmp[1] + "_" + pageIndex + ".html"; Stream mystreamnew = File.Open(saveSoftPath, FileMode.Create); StreamWriter swnew =new StreamWriter(mystreamnew, System.Text.Encoding.GetEncoding("gb2312")); swnew.Write(respHTML); swnew.Close(); } catch (Exception ex) { return "<BR>" + ex.Message + "\\n静态页生成失败。新闻ID号:" + newsID; } return "true"; } #endregion 其实可以结合urlrewrite和静态生成。。经常要变的东西还是用重写比较好。。 不变的就生成静态页吧。。比如新闻 全部静态化很麻烦,你更新一个东西,又要全部生成静态的。得不偿失。。 求一个算法问题 加密web.config文件 DropDownList 的小问题!!!! 请教好用的加密JS工具 [VB]一个菜鸟问题,呵呵。关于Datagrid页码控制的问题。 删除GridView的记录问题 关于页面刷新的问题~~~~~~~~~~~~ 在公司可以打开的ASP.net的项目,回家打开总是提示,web组件没有安装之类的提示,项目大不开 请问C#中跳出过程的语句怎样写? 什么东西支持asp.net语法? 有一个网页有一个特效,如何实现的,能谈一下代码么? 讨论GridView使用模板的问题(100分求援)
一些不会变的可以直接生成静态页面(如新闻显示页之类的)
其他可以考虑URL重写或者伪静态
后缀变成.html的
还要使用cache
http://topic.csdn.net/u/20090216/23/200596a5-24cc-4f40-8f24-f29b5e786c4c.html
#region 批量生成静态核心
public static string BatchBuildHtml(string newsID, string fileName, string pageIndex, string webPath)
{
//还没有生成过静态文件,生成过静态文件的路径
string softURL = ConfigurationManager.AppSettings["HtmlTemplet"].ToString();
softURL += "?nid=" + newsID + "&pid=" + pageIndex; try
{
WebRequest wReq = WebRequest.Create(softURL);
WebResponse wResp = wReq.GetResponse();
DateTime updated = ((HttpWebResponse)wResp).LastModified;
Stream respStream = wResp.GetResponseStream();
StreamReader reader = new StreamReader(respStream, System.Text.Encoding.GetEncoding("gb2312"));
string respHTML = reader.ReadToEnd(); string[] tmp = fileName.Split('/'); Directory.CreateDirectory(webPath + tmp[0] + "\\" + tmp[1]); //建立文件夹 //respHTML =respHTML.Replace(" ",""); //去制表符
//respHTML =respHTML.Replace("\r\n",""); //去回车换行 //新版生成
//存放文件的物理路径——文件夹
tmp = fileName.Split('_');
string saveSoftPath = webPath + tmp[0] + "_" + tmp[1] + "_" + pageIndex + ".html";
Stream mystreamnew = File.Open(saveSoftPath, FileMode.Create);
StreamWriter swnew =new StreamWriter(mystreamnew, System.Text.Encoding.GetEncoding("gb2312")); swnew.Write(respHTML);
swnew.Close();
}
catch (Exception ex)
{
return "<BR>" + ex.Message + "\\n静态页生成失败。新闻ID号:" + newsID;
}
return "true";
}
#endregion