يقوم ASP بانتظام بإنشاء كود HTML ثابت، وهو أمر مفيد جدًا في تخفيف ضغط الخادم ويمكن للأصدقاء المحتاجين الرجوع إليه.
انسخ الكود كما يلي:<%
'حدد ما إذا كنت تريد إنشاء HTML جديد
إذا كان Application(cache_asptohtml_date)= ثم
Application.Lock
Application(cache_asptohtml_date)=now()
Application.Unlock
Call aspTohtml
Response.Redirect(index.html)
ينتهي إذا
كان DateDiff (s, Application(cache_asptohtml_date),Now)> 100 ثم "قارن عدد الثواني الفرق بين وقت التحديث الأخير والوقت الحالي
Application.Lock"
Application(cache_asptohtml_date)=now()
Application.UnLock
اتصل بـ aspTohtml
Response.Redirect(index.html)
Else
Response.Redirect(index.html)
End if
'Get the current Directory
function getpath
if Request.ServerVariables(SERVER_PORT)<>80 ثم
UserUrl = http://&Request.ServerVariables(SERVER_NAME)& : & Request.ServerVariables(SERVER_PORT)& Request.ServerVariables(URL)
else
UserUrl = http://&Request.ServerVariables(SERVER_NAME)& Request.ServerVariables(URL)
ينتهي إذا
getpath=left(UserUrl,InstrRev(UserUrl,/))
نهاية الوظيفة
sub aspTohtml
'---------------------------------------------- -- ----------
'استخدم XMLHTTP لإنشاء رمز للصفحة الرئيسية الثابتة'Curl
هو عنوان صفحتك الرئيسية، تأكد من أن مساحتك تدعم FSO
'-------------------------- --------------------------------
قراءة باهتة,Curl,content
Curl=getpath&home.asp
read=getHTTPPage(Curl)
إذا قراءة <> ثم
المحتوى = قراءة
Set Fso = Server.CreateObject(Scripting.FileSystemObject)
Filen=Server.MapPath(index.html)
Set Site_Config=FSO.CreateTextFile(Filen,true, False)
Site_Config.كتابة المحتوى
Site_Config.Close
Set Fso = لا شيء
ينتهي إذا
نهاية
الوظيفة الفرعية getHTTPPage(url)
dim http
set http=Server.createobject(Microsoft.XMLHTTP)
Http.open GET, url,false
Http.send()
إذا كان Http.readystate<>4 ثم
اخرج من نهاية الوظيفة
إذا
getHTTPPage=bytesToBSTR(Http.responseBody,GB2312)
قم بتعيين http=nothing
إذا err.number<>0 ثم err.Clear
وظيفة النهاية
BytesToBstr(body,Cset)
مجموعةobjstream المعتمة
objstream = Server.CreateObject(adodb.stream)
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = لا شيء
وظيفة النهاية
%>
يقوم ASP بإنشاء صفحات ثابتة (HTML) بانتظام 2.
انسخ الكود كما يلي:
<%
set
fs= ملف server.createobject(
scripting.filesystemobject)
=server.mappath(time.txt)
txt=fs.opentextfile(file,1,true)
إذا لم يكن txt.atendofstream ثم
times=txt.ReadLine
Else
Response.write <br /><!--هل وجدت أن time.txt قد بدأ في الإنشاء!-- >
HtmlPage = time .txt '//قالب
اسم ملف HTML المُنشأ
= NOW()Set FSO = Server.CreateObject (Scripting.FileSystemObject)
Set FileOut = FSO.CreateTextFile(Server.MapPath (HtmlPage))
قالب FileOut.WriteLine
FileOut.Close
Set FSO = لا شيء
ينتهي إذا
كان datediff(s,times,NOW()) > 3600 ثم '// الوقت منذ آخر تحديث أكبر من 3600 ثانية، قم بتحديث
الاستجابة. اكتب <br /><!--ابدأ التحديث بعد مرور الوقت-->
code = هذا هو كود html الذي يجب إنشاؤه '// هناك طرق عديدة للحصول على الكود
'// استخدم FSO لإنشاء صفحة HTML
HtmlPage = Index.html '//قالب
اسم ملف HTML الذي تم إنشاؤه
= كودSet FSO = Server.CreateObject (Scripting. FileSystemObject)
Set FileOut = FSO.CreateTextFile (Server.MapPath (HtmlPage))
قالب FileOut.WriteLine
FileOut.Close
Set FSO = لا شيء
'// استخدم FSO لإنشاء ملف time.txt
HtmlPage = time.txt '// اسم ملف HTML المُنشأ
Template = NOW()
Set FSO = Server.CreateObject (Scripting.FileSystemObject)
Set FileOut = FSO.CreateTextFile(Server.MapPath ( HtmlPage))
قالب FileOut.WriteLine
FileOut.Close
Set FSO = لا شيء
آخر
Response.write <br /><!-- لقد مر&datediff(s,times,NOW())&secions!-->
End If
%>