今日はかなり空いてますよ!最近 2 つの Web サイトを開発したことで、たくさんの新しいアイデアが得られました。私も素晴らしいコードをたくさん読みましたが、自分に合うパターンを見つけたことがありません。キャッシュ設計を参考にすると、より便利な考え方を見つけたようです。実際、ここでの静的ページは本当の意味では静的ではありませんが、静的ページの解析効率を達成することはできますが、プロジェクトではテストされていないため、ここで共有されています。
<%
'記事の出典: http://www.devjs.com
Const DEVJS_INDEX=index.htmlConst INDEX_DEFAULT_INTERVAL=300Dim sLastUpdate' は Application を使用して最終更新時刻を保存し、ページを判断して 300 秒 (5 分) ごとにページを生成します。 sLastUpdate=Application(INDEX_LAST_Update)If sLastUpdate= またはDateDiff(s,sLastUpdate,now())>INDEX_DEFAULT_INTERVAL then 'MakeIndex() を呼び出してページを生成し、最終更新時刻を変更します MakeIndex() sLastUpdate=Now() Application(INDEX_LAST_Update)=sLastUpdate Response.Write がデフォルト時間を超えており、 & sLastUpdateElse で更新されます。 Response.Write は静的ページを読み取り、& sLastUpdateEnd で更新されます。 IfResponse.Write LoadTextFile(Server.MapPath(DEVJS_INDEX),GB2312) Function MakeIndex() sContent=<hr> & Now() Call SaveTextFile(Server.MapPath(DEVJS_INDEX),GB2312,sContent)End Function%>
有効期限が切れている場合は、ページを更新します。有効期限が切れていない場合は、静的ページを直接呼び出します。SaveTextFile() は上書きメソッドで記述されていることに注意してください。
これは oStream.SaveToFile sFilePath,2 という文です
<%Function LoadTextFile(sFilePath,sCharset) Dim oStream Set 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=NothingEnd Function Function SaveTextFile(sFilePath,sCharset,outString) SaveFile=false Dim oStream Set 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 Set oStream = Nothing SaveTextFile=trueEnd 関数%>
これはキャッシュよりも面倒でなく、はるかに簡単です。実際、MakeIndex() では、テンプレート ファイルの読み取りや置換など、さまざまな操作を行うことができます。