網(wǎng)站制作如何生成動(dòng)態(tài)頁面的靜態(tài)內(nèi)容
2010/10/18 11:34:00

  
  網(wǎng)站制作生成動(dòng)態(tài)頁面的靜態(tài)內(nèi)容使用的方法是:自定義Response.Filter然后得到輸出流stream,之后就會(huì)生成靜態(tài)內(nèi)容了。

  實(shí)現(xiàn)原理:

  以 request.RawUrl 為緩存基礎(chǔ),因?yàn)樗梢园我獾腝ueryString變量,然后我們用MD5加密RawUrl 得到服務(wù)器本地文件名的變量,再實(shí)例化一個(gè)FileInfo操作該文件,如果文件最后一次生成時(shí)間小于7天,我們就使用.Net2.0新增的TransmitFile方法將存儲(chǔ)文件的靜態(tài)內(nèi)容發(fā)送到瀏覽器。如果文件不存在,我們就操作 response.Filter 得到的 Stream 傳遞給 CommonFilter 類,并利用FileStream寫入動(dòng)態(tài)頁面的內(nèi)容到靜態(tài)文件中。

  代碼如下:

  namespace  ASPNET_CL.Code.HttpModules

  {

  public  class  CommonModule : IHttpModule

  {

  public  void  Init( HttpApplication application )

  {

  application.BeginRequest += Application_BeginRequest;

  }

  private  void  Application_BeginRequest(  object  sender, EventArgs e )

  {

  var context = HttpContext.Current;

  var request = context.Request;

  var url = request.RawUrl;

  var response = context.Response;

  var path = GetPath( url );

  var file =  new  FileInfo( path );

  if  ( DateTime.Now.Subtract( file.LastWriteTime ).TotalDays < 7 )

  {

  response.TransmitFile( path );

  response.End();

  return;

  }

  try  {

  var stream = file.OpenWrite();

  response.Filter =  new  CommonFilter( response.Filter, stream );

  }

  catch  ( Exception )

  {

  //Log.Insert("");

  }

  }

  public  void  Dispose()

  {

  }

  private  static  string  GetPath(  string  url )

  {

  var hash = Hash( url );

  string  fold = HttpContext.Current.Server.MapPath(  "~/Temp/"  );

  return  string.Concat( fold, hash );

  }

  private  static  string  Hash(  string  url )

  {

  url = url.ToUpperInvariant();

  var md5 =  new  System.Security.Cryptography.MD5CryptoServiceProvider();

  var bs = md5.ComputeHash( Encoding.ASCII.GetBytes( url ) );

  var s =  new  StringBuilder();

  foreach  ( var b  in  bs )

  {

  s.Append( b.ToString(  "x2"  ).ToLower() );

  }              return  s.ToString();

  }

  }

  }

返回列表
返回首頁 主站蜘蛛池模板: 国产成人精品怡红院在线观看| 99久久久精品免费观看国产| 欧美性xxxx极品hd欧美风情| 国产精品嫩草影院人体模特| 丽玲老师高跟鞋调教小说| 欧美黄色片网址| 国产在线视频你懂的| 特大巨黑吊av在线播放| 国产欧美日韩一区| www.成人av.com| 日本高清中文字幕在线观穿线视频| 国产喷水女王在线播放| 97精品人妻一区二区三区香蕉| 无码天堂va亚洲va在线va| 再深点灬舒服灬太大了一进一出| 成人福利在线视频| 97碰在线视频| 国模大胆一区二区三区| 中日韩欧美在线观看| 欧美国产在线观看| 午夜一区二区三区| 非常h很黄的变身文| 国产黄色app| 丰满少妇高潮惨叫久久久| 欧美乱妇高清无乱码亚洲欧美| 国产福利免费看| 97麻豆精品国产自产在线观看| 怡红院成人影院| 乱妇乱女熟妇熟女网站| 欧美激情综合色综合啪啪五月| 免费永久在线观看黄网站| 蜜柚直播在线第一页| 国产成人av免费观看| 2020求一个网站男人都懂| 成人做受120秒试看动态图| 久久国产精久久精产国| 欧洲精品久久久AV无码电影| 亚洲成人www| 精品一区二区三区免费毛片爱 | 涩涩高清无乱码在线观看| 四虎免费影院4hu永久免费|