لقد أعطاني تطوير الموقعين الأخيرين الكثير من الأفكار الجديدة! لقد قرأت أيضًا الكثير من الأكواد الممتازة، لكن لم أجد قط نمطًا يناسبني! بالاعتماد على تصميم ذاكرة التخزين المؤقت، يبدو أنني وجدت طريقة أكثر ملاءمة للتفكير. في الواقع، الصفحات الثابتة هنا ليست ثابتة بالمعنى الحقيقي، ولكن يمكنها تحقيق كفاءة التحليل للصفحات الثابتة، ولم يتم اختبارها بواسطة المشروع وتمت مشاركتها هنا.
انسخ رمز الكود كما يلي:
<%
Const DEVJS_INDEX=index.html
الثابت INDEX_DEFAULT_INTERVAL=300
خافت sLastUpdate
'استخدم التطبيق لحفظ آخر وقت تم تحديثه، وإصدار الأحكام على الصفحة، وإنشاء صفحة كل 300 ثانية (5 دقائق)
sLastUpdate=Application(INDEX_LAST_Update)
إذا كان sLastUpdate= أو DateDiff(s,sLastUpdate,now())>INDEX_DEFAULT_INTERVAL إذن
"اتصل بـ MakeIndex() لإنشاء الصفحة وتغيير وقت التحديث الأخير."
ماكيندكس ()
sLastUpdate=الآن()
Application(INDEX_LAST_Update)=sLastUpdate
يتجاوز Response.Write الوقت الافتراضي، ويتم تحديثه في & sLastUpdate
آخر
يقرأ Response.Write الصفحة الثابتة، ويتم تحديثها باستخدام & sLastUpdate
نهاية إذا
الاستجابة.كتابة LoadTextFile(Server.MapPath(DEVJS_INDEX),GB2312)
الدالة MakeIndex()
sContent=<hr> والآن()
استدعاء 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=لا شيء
وظيفة النهاية
الدالة SaveTextFile(sFilePath,sCharset,outString)
SaveFile=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()، مثل قراءة ملفات القالب واستبدالها.