ASP регулярно генерирует статический HTML-код, который очень помогает снизить нагрузку на сервер. К нему могут обратиться нуждающиеся друзья.
Скопируйте код следующим образом:<%
'Определите, следует ли генерировать новый HTML
, если Application(cache_asptohtml_date)= then
Application.Lock
Application(cache_asptohtml_date)=now()
Application.Unlock
Call aspTohtml
Response.Redirect(index.html)
end if
if DateDiff (s, Application(cache_asptohtml_date),Now)> 100 then 'Сравнить разницу в секундах между временем последнего обновления и текущим
timeApplication.Lock
Application(cache_asptohtml_date)=now()
Application.UnLock
Вызов aspTohtml
Response.Redirect(index.html)
Else
Response.Redirect(index.html)
End if
'Получить текущий каталог!
функция 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)
end if
getpath=left(UserUrl,InstrRev(UserUrl,/))
end function
sub aspTohtml
'------------------------------------------------ -- ----------
«Используйте XMLHTTP для генерации кода статической домашней страницы». Curl
— это адрес вашей домашней страницы. Убедитесь, что ваше пространство поддерживает FSO
. --------------------------------
dim read,Curl,content
Curl=getpath&home.asp
read=getHTTPPage(Curl)
if read<> then
content=read
Set Fso = Server.CreateObject(Scripting.FileSystemObject)
Filen=Server.MapPath(index.html)
Set Site_Config=FSO.CreateTextFile(Filen,true, False)
Site_Config.Write content
Site_Config.Close
Set Fso = Nothing
end if
End sub
Function 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)
set http=nothing
if err.number<>0 then err.Clear
End Function
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject(adodb.stream)
objstream.Type = 1
objstream.Mode =3
objstream.Открыть
objstream.Записать тело
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)
file=server.mappath(time.txt)
set txt=fs.opentextfile(file,1,true)
если не txt.atendofstream, то
times=txt.ReadLine
Else
response.write <br /><!--Вы обнаружили, что time.txt начал генерироваться!-- >
HtmlPage = time .txt '//Сгенерированное имя HTML-файла
Template = NOW()
Set FSO = Server.CreateObject (Scripting.FileSystemObject)
Set FileOut = FSO.CreateTextFile(Server.MapPath (HtmlPage))
FileOut.WriteLine Template
FileOut.Close
Set FSO = Nothing
end If
If Dateiff(s,times,NOW()) > 3600 Тогда '//Время с момента последнего обновления больше, чем 3600 секунд, обновите
ответ.write <br /><! --Начните обновление по истечении времени -->
code = Вот HTML-код, который необходимо сгенерировать '//Есть много способов получить код
'//Использовать FSO для создания HTML-страницы
HtmlPage = index.html '//Сгенерированное имя HTML-файла
Template = code
Set FSO = Server.CreateObject (Scripting. FileSystemObject)
Установить FileOut = FSO.CreateTextFile(Server.MapPath (HtmlPage))
FileOut.WriteLine Шаблон
FileOut.Close
Установить 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 = Nothing
Else
response.write <br /><!-- Прошло&датаiff(s,times,NOW())&секунды!-->
End If
%>