静的ページを生成する3つの方法
2986 ワード
ウェブサイトを作る時、性能を高めるために、ASPを使う以外にNetページキャッシュに加えて、Webサイトのトップページを静的ページに生成することもできます.
静的ページを生成する方法はいくつかありますが、ここでは2つを紹介します.テンプレート法 Pageを書き換えるRenderメソッド(このメソッドは「孟子E」) ASP.Net 2.0のHttpRequest.SaveAsメソッド.
1.テンプレート法のくだらない話は言わないで、経典の実現方法で、直接コードを放します:
2.Render法の書き換え
関数はPageを再ロードしました.Render関数は、ページのHTMLテキストを切り取ってファイルに保存する役割を果たし、さらにASPを見ることができます.Netページライフプロセス.コードは次のとおりです.
以上の関数数を静太ファイルを生成するページに加算します.
3.テンプレート法
ASP.NET 2.0では、ASP.NETで生成されたHTMLコードを処理したり、静的ファイルとして保存したりします.ASP.NETは要求を直接ファイルに保存する方法を提供する:HttpRequest.SaveAsメソッド.
静的ページを生成する方法はいくつかありますが、ここでは2つを紹介します.
1.テンプレート法のくだらない話は言わないで、経典の実現方法で、直接コードを放します:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;
namespace menutest
{
/// <summary>
/// Conn 。
/// </summary>
// by kyo
//
public class Conn
{
public Conn()
{
}
public static bool WriteFile(string strText,string strContent,string strAuthor)
{
string path = HttpContext.Current.Server.MapPath("/menutest/");
Encoding code = Encoding.GetEncoding("gb2312");
//
string temp = HttpContext.Current.Server.MapPath("/menutest/news/text.html");
StreamReader sr=null;
StreamWriter sw=null;
string str="";
try
{
sr = new StreamReader(temp,code);
str = sr.ReadToEnd(); //
}
catch(Exception exp)
{
HttpContext.Current.Response.Write(exp.Message);
HttpContext.Current.Response.End();
sr.Close();
}
//string htmlfilename=DateTime.Now.ToString("yyyyMMddHHmmss")+".html";
string htmlfilename="kyo.html";
//
// , str
str = str.Replace("ShowArticle",strText); // ShowArticle
str = str.Replace("biaoti",strText);
str = str.Replace("content",strContent);
str = str.Replace("author",strAuthor);
//
try
{
sw = new StreamWriter(path + htmlfilename , false, code);
sw.Write(str);
sw.Flush();
}
catch(Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
}
finally
{
sw.Close();
}
return true;
}
}
}
// System.IO , Replace , html.
2.Render法の書き換え
関数はPageを再ロードしました.Render関数は、ページのHTMLテキストを切り取ってファイルに保存する役割を果たし、さらにASPを見ることができます.Netページライフプロセス.コードは次のとおりです.
protected override void Render(HtmlTextWriter writer)
{
System.IO.StringWriter html = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter tw = new HtmlTextWriter(html);
base.Render(tw);
System.IO.StreamWriter sw = new System.IO.StreamWriter(Server.MapPath("index.html"), false, System.Text.Encoding.Default);
sw.Write(html.ToString());
sw.Close();
tw.Close();
Response.Write(" !");
}
以上の関数数を静太ファイルを生成するページに加算します.
3.テンプレート法
ASP.NET 2.0では、ASP.NETで生成されたHTMLコードを処理したり、静的ファイルとして保存したりします.ASP.NETは要求を直接ファイルに保存する方法を提供する:HttpRequest.SaveAsメソッド.