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

首頁 > 編程 > .NET > 正文

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

2024-07-10 12:42:49
字體:
來源:轉載
供稿:網友
一個是一個頁面轉換的類,該類通過靜態函數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 );
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 廉江市| 长兴县| 浑源县| 禄丰县| 德保县| 泰州市| 四子王旗| 沽源县| 保康县| 洪雅县| 革吉县| 阜新| 北京市| 乌鲁木齐市| 山东省| 雷州市| 法库县| 剑川县| 洞头县| 扎兰屯市| 苍梧县| 曲沃县| 东源县| 万荣县| 汉源县| 灵川县| 青神县| 越西县| 吉首市| 河南省| 灵山县| 林口县| 任丘市| 永和县| 泸定县| 中卫市| 和林格尔县| 偏关县| 兴隆县| 澎湖县| 洪洞县|