国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

Asp.Net 動態頁面轉靜態頁面主要代碼

2024-07-10 13:18:15
字體:
來源:轉載
供稿:網友
一個是一個頁面轉換的類,該類通過靜態函數Changfile()來實現,動態頁面到靜態頁面的轉換。  

復制代碼 代碼如下:


using System;
  using System.Data;
  using System.Configuration;
  using System.Web;
  using System.Web.Security;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.WebControls.WebParts;
  using System.Web.UI.HtmlControls;
  using System.Text;
  using System.IO;
  /**////
  /// Summary description for HtmlProxy
  ///
  public class HtmlProxy
  ...{
  public HtmlProxy()
  ...{
  }
  public static bool ChangeFile(int id)
  ...{
  string filename = HttpContext.Current.Server.MapPath("Post_" + id + ".html");
  //嘗試讀取已有文件   Stream st = GetFileStream(filename);
  //如果文件存在并且讀取成功
  if (st != null)
  ...{
  using (st)
  ...{
  StreamToStream(st, HttpContext.Current.Response.OutputStream);
  return true;
  //Response.End();
  }
  }
  else
  ...{
  StringWriter sw = new StringWriter();
  HttpContext.Current.Server.Execute("ForumDetail.aspx?PID=" + id, sw);
  string content = sw.ToString();
  //寫進文件

 try
  ...{
  using (FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.Write))
  ...{
  using (StreamWriter stw = new StreamWriter(fs, HttpContext.Current.Response.ContentEncoding))
  ...{
  stw.Write(content);
  }
  }
  return true;
  }
  catch ...{ return false; }
  }
  }
  private static Stream GetFileStream(string filename)
  ...{
  try
  ...{
  DateTime dt = File.GetLastWriteTime(filename);
  TimeSpan ts = dt - DateTime.Now;
  if (ts.TotalHours >1)
  ...{
  //一小時后過期
  return null;
  }
  return new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read);
  }
  catch ...{ return null; }
  }
  static public void StreamToStream(Stream src, Stream dst)
  ...{
  byte[] buf = new byte[4096];
  while (true)
  ...{
  int c = src.Read(buf, 0, buf.Length);
  if (c == 0)
  return;
  dst.Write(buf, 0, c);
  }
  }
  }
  在頁面文件中,ForURL.aspx的后臺代碼如下:
  protected void Page_Load(object sender, EventArgs e)
  ...{
  try
  ...{
  int id = int.Parse(Request.QueryString["PID"]);
  if(HtmlProxy.ChangeFile(id))
  ...{
  Response.Redirect("Post_" + id + ".html");
  }
  else
  ...{
  Response.Redirect("Post.aspx?PID=" + id );
  }
  }
  catch ...{
  }
  }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庆云县| 共和县| 河东区| 通城县| 赤峰市| 托克托县| 樟树市| 壶关县| 蓬莱市| 宁河县| 保山市| 乳源| 砚山县| 民乐县| 新津县| 广安市| 富顺县| 通州市| 荃湾区| 许昌县| 广灵县| 尖扎县| 耿马| 乾安县| 龙海市| 嘉禾县| 龙南县| 夏津县| 虎林市| 海门市| 东丽区| 潼南县| 彭山县| 嵊泗县| 班玛县| 临安市| 沙坪坝区| 公主岭市| 丁青县| 隆化县| 克拉玛依市|