最近 2 つの Web サイトを開発したことで、たくさんの新しいアイデアが得られました。私も素晴らしいコードをたくさん読みましたが、自分に合うパターンを見つけたことがありません。キャッシュ設計を参考にすると、より便利な考え方を見つけたようです。実際、ここでの静的ページは本当の意味では静的ではありませんが、静的ページの解析効率を達成することはできますが、プロジェクトではテストされていないため、ここで共有されています。
次のようにコードをコピーします。
<%
Const DEVJS_INDEX=index.html
定数 INDEX_DEFAULT_INTERVAL=300
ディム sLastUpdate
'アプリケーションを使用して最終更新時刻を保存し、ページ上で判断し、300秒(5分)ごとにページを生成します
sLastUpdate=アプリケーション(INDEX_LAST_Update)
sLastUpdate= または DateDiff(s,sLastUpdate,now())>INDEX_DEFAULT_INTERVAL の場合
'MakeIndex() を呼び出してページを生成し、最終更新時刻を変更します
MakeIndex()
sLastUpdate=Now()
アプリケーション(INDEX_LAST_Update)=sLastUpdate
Response.Write がデフォルト時間を超過し、sLastUpdate で更新されます
それ以外
Response.Write は、& sLastUpdate で更新された静的ページを読み取ります
終了の場合
Response.Write LoadTextFile(Server.MapPath(DEVJS_INDEX),GB2312)
関数 MakeIndex()
sContent=<hr> & Now()
SaveTextFile(Server.MapPath(DEVJS_INDEX),GB2312,sContent) を呼び出します。
終了機能
%>
有効期限が切れている場合は、ページを更新します。有効期限が切れていない場合は、静的ページを直接呼び出します。SaveTextFile() は上書きメソッドで記述されていることに注意してください。
これは oStream.SaveToFile sFilePath,2 という文です
次のようにコードをコピーします。
<%
関数LoadTextFile(sFilePath,sCharset)
ディムオストリーム
oStream=Server.CreateObject(ADODB.Stream) を設定します
oStream.Type=2
oStream.Mode=3
oStream.Open
oStream.Charset=sCharset
oStream.Position=oStream.Size
oStream.LoadFromFile sFilePath
LoadTextFile=oStream.ReadText
oStream.Close
oStream=Nothing を設定します
終了機能
関数 SaveTextFile(sFilePath,sCharset,outString)
ファイルの保存=false
ディムオストリーム
oStream = Server.CreateObject(ADODB.Stream) を設定します。
oStream.Type=2
oStream.Mode=3
oStream.Open
oStream.Charset=sCharset
oStream.WriteText = outString
oStream.SaveToFile sFilePath,2
oStream.Close
oStream = なしを設定します
SaveTextFile=true
終了機能
%>
これはキャッシュよりも面倒でなく、はるかに簡単です。実際、MakeIndex() では、テンプレート ファイルの読み取りや置換など、さまざまな操作を行うことができます。