一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - Asp.Net 動態頁面轉靜態頁面主要代碼

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

2019-06-26 12:45 ASP.NET教程

關于在Asp.Net中動態頁面轉靜態頁面的方法網上比較多。結合實際的需求,我在網上找了一些源代碼,并作修改。現在把修改后的代碼以及說明寫一下。

一個是一個頁面轉換的類,該類通過靜態函數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 ...{ 
  } 
  } 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产青草亚洲香蕉精品久久 | 亚洲欧美久久久久久久久久爽网站 | 逼逼流水了 | 我的好妈妈7中字在线观看韩国 | 好女孩韩剧免费观看 | 91美女在线 | 日本精品vide·ssex日本 | 1024国产看片在线观看 | 无限在线观看免费入口 | 麻豆最新 | 精品性影院一区二区三区内射 | 国产小视频免费看 | 天堂漫画破解版 | 免费一级特黄特色大片在线观看 | 亚洲10p | 蝴蝶传媒3o45| 日韩欧美一区二区三区免费观看 | 美女18隐私羞羞视频网站 | 色悠久久久久综合网小说 | 暖暖的韩国免费观看 | 久久久无码精品亚洲欧美 | 天天曰天天干 | 婷婷影院在线观看 | 国产精品成人自拍 | 91色视| 成人au免费视频影院 | 欧美男同互吃gay老头 | 国产高清在线观看 | 欧美兽皇另类 | 欧美办公室silkstocking | 久久99精品国产免费观看 | 欧美va在线观看 | 免费观看小视频 | 成人二区 | 2022最新a精品视频在线观看 | 视频免费观看在线播放高清 | www91在线观看 | 国产人va在线 | 好大好深视频 | 湿好紧太硬了我太爽了 | 亚洲网红精品大秀在线观看 |