ASP.NET生成静态页面实现方法
点击次数:14 次 发布日期:2008-11-26 11:44:38 作者:源代码网
|
源代码网推荐 <%@ page language="C#" %> 源代码网推荐 <%@ import namespace=System.IO %> 源代码网推荐 <script runat="server"> 源代码网推荐 protected override void OnInit (EventArgs e) 源代码网推荐 ...{ 源代码网推荐 int id; 源代码网推荐 try 源代码网推荐 ...{ 源代码网推荐 id = int.Parse (Request.QueryString["id"]); 源代码网推荐 } 源代码网推荐 catch 源代码网推荐 ...{ 源代码网推荐 throw (new Exception ("页面没有指定id")); 源代码网推荐 } 源代码网推荐 源代码网推荐 string filename=Server.MapPath("statichtml_"+id+".html"); 源代码网推荐 源代码网推荐 //尝试读取已有文件 源代码网推荐 Stream s = GetFileStream (filename); 源代码网推荐 if (s != null)//如果文件存在并且读取成功 源代码网推荐 ...{ 源代码网推荐 using (s) 源代码网推荐 ...{ 源代码网推荐 Stream2Stream (s, Response.OutputStream); 源代码网推荐 Response.End (); 源代码网推荐 } 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 //调用Main_Execute,并且获取其输出 源代码网推荐 StringWriter sw = new StringWriter (); 源代码网推荐 Server.Execute ("Main_Execute.aspx", sw); 源代码网推荐 源代码网推荐 string content = sw.ToString (); 源代码网推荐 源代码网推荐 //输出到客户端 源代码网推荐 Response.Write(content); 源代码网推荐 Response.Flush(); 源代码网推荐 源代码网推荐 //写进文件 源代码网推荐 源代码网推荐 try 源代码网推荐 ...{ 源代码网推荐 using (FileStream fs = new FileStream (filename, FileMode.Create, FileAccess.Write, FileShare.Write)) 源代码网推荐 ...{ 源代码网推荐 using (StreamWriter streamwriter = new StreamWriter (fs, Response.ContentEncoding)) 源代码网推荐 ...{ 源代码网推荐 streamwriter.Write (content); 源代码网推荐 } 源代码网推荐 } 源代码网推荐 } 源代码网推荐 finally 源代码网推荐 ...{ 源代码网推荐 //Response.End (); 源代码网推荐 } 源代码网推荐 } 源代码网推荐 static public void Stream2Stream (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); 源代码网推荐 } 源代码网推荐 } 源代码网推荐 public Stream GetFileStream(string filename) 源代码网推荐 ...{ 源代码网推荐 try 源代码网推荐 ...{ 源代码网推荐 DateTime dt = File.GetLastWriteTime (filename); 源代码网推荐 TimeSpan ts=dt - DateTime.Now; 源代码网推荐 if(ts.TotalHours>1) 源代码网推荐 return null; //1小时后过期 源代码网推荐 return new FileStream (filename, FileMode.Open, FileAccess.Read, FileShare.Read); 源代码网推荐 } 源代码网推荐 catch 源代码网推荐 ...{ 源代码网推荐 return null; 源代码网推荐 } 源代码网推荐 } 源代码网推荐 </script> 源代码网推荐 源代码网推荐 源代码网推荐 <!--Main_Execute.aspx--> 源代码网推荐 <%@ page language="C#" %> 源代码网推荐 <html> 源代码网推荐 <head runat="server"> 源代码网推荐 <title>Untitled Page</title> 源代码网推荐 </head> 源代码网推荐 <body> 源代码网推荐 源代码网推荐 ID: 源代码网推荐 <%=Request.QueryString["id"]%> 源代码网推荐 源代码网推荐 </body> 源代码网推荐 </html> 源代码网推荐 源代码网推荐 源代码网推荐 Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1484095 源代码网推荐 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
