Я создал страницу в ASP, который загружает динамический контент с кодом, похожее на это:Server.Execute Дубликаты Dynamic Content
<%
var1 = int(rnd * 5) + 1
var2 = int(rnd * 10) + 1
%>
<html>
<body>
what variable 1 is: <%=var1%>
what variable 2 is: <%=var2%>
</body>
</html>
Тогда у меня есть другая страница, которая использует Server.Execute выполнить упомянутый предыдущий файл 2+ используя цикл. Код выглядит следующим образом:
<% filename = request.querystring("page") %>
<table class="domtable">
<% for j = 1 to 2%> <%qnumb = qnumb + 1%>
<tr>
<td align="left">
<%server.execute (filename)%>
<% If qnumb < 2 then%>
<br/><hr><br/>
<%end if%>
</td></tr>
<%next%>
</table>
Так за последние несколько месяцев это уже прекрасно работает для меня, загружая различные номера для обеих переменных на двух отдельных исполнениях. Затем сегодня я дублировал папку на своем сервере, переименовал ее и теперь волшебным образом, переменные имеют одинаковую величину примерно в 9 из 10 раз, когда браузер обновляется.
Это случилось со мной с теми же файлами на моем втором сервере месяц назад, и мне пришлось удалить все файлы со второго сервера и загрузить их с моего первого сервера (дублирующего сейчас), затем загрузить их обратно, и это исправлено. К сожалению, я не загружал все содержимое сервера моего первого сервера, поэтому я не могу отменить этот процесс. Поэтому я не уверен, является ли эта проблема серверной, или если она связана с кодом, который я пишу? Я просто не знаю, почему это так долго будет работать, а потом просто перестань работать.
Я пробовал использовать элементы управления мета-no-cache. Я удалил новую папку, которую я дублировал ранее с сервера, и это не сработало. Я также пытался удалить файлы за последние пару дней, которые были загружены, и это тоже не сработало. Я попытался загрузки файла «» как массив, таких как:
filename(1) = request.querystring("page")
filename(2) = request.querystring("page")
for j = 1 to 2
Server.Execute(filename(j))
next
Я действительно надеюсь, что кто-то знает, что я здесь делаю неправильно.
-EDIT-
Я также делать это и получать те же результаты.
<%
'rnd.asp'
pStr = "private, no-cache, must-revalidate"
Response.ExpiresAbsolute = #2000-01-01#
Response.AddHeader "pragma", "no-cache"
Response.AddHeader "cache-control", pStr
server.execute ("rndj.asp")
response.write ("<hr>")
randomize(3)
server.execute ("rndj.asp")
%>
<%
'rndj.asp'
pStr = "private, no-cache, must-revalidate"
Response.ExpiresAbsolute = #2000-01-01#
Response.AddHeader "pragma", "no-cache"
Response.AddHeader "cache-control", pStr
randomize
response.write rnd
response.write "<br>"
response.write rnd
%>
Я начал использовать этот код, ниже которого смотрит на указанный файл в виде обычного текста и удаляет теги Asp из него затем использует Выполнить, чтобы запустить его в исходном файле. Проблема с этим - это все мои страницы, которые я вызываю в них для других ресурсов, а сценарий замены не позволяет добавлять asp-теги вокруг строк include.
<%
Dim sTargetFile, sTargetFileContents
Dim oFSO, sContents
Function GetFileContentsForExecution(sTargetFile)
'Obtain a reference to the FileSystemObject
Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
'Obtain the file contents
sContents = oFSO.OpenTextFile(Server.MapPath(".") & "\" & sTargetFile).ReadAll
Set oFSO = Nothing 'reference to the FileSystemObject
'Remove the ASP scripting tags
rand = int(rnd * 2)
sContents = Replace (sContents, "<" & "%", "")
sContents = Replace (sContents, "%" & ">", "")
GetFileContentsForExecution = sContents
End Function
sTargetFile = "rndj.asp"
for j = 1 to 6
'Get the contents of the file to execute
sTargetFileContents = GetFileContentsForExecution(sTargetFile)
Execute sTargetFileContents
next
if j < 3 then
response.write ("<br/><hr><br/>")
end if
%>
Есть ли какой-либо причине вы не используете Включает вместо Server.Execute? Я думаю, вы могли бы легко устранить эту проблему, заменив вместо этого свои файлы. – HK1
Да, я начал использовать, но список файлов, которые мне нужно включить, слишком велика и резко сокращает время загрузки страницы. Я нашел использование Server.Execute был быстрее и дал мне возможность использовать переменную в скрипте, поскольку вы не можете использовать переменные внутри тега include. – xxstevenxo
Он работает на одном сервере, но не в другом. Оба они используют одни и те же сценарии, и оба они были организованы Godaddy. – xxstevenxo