2012-05-08 5 views
0

私はこのようなコードで動的なコンテンツをロードするASPでのページ作成:次に、私が述べた以前のファイルを実行するためのServer.Executeを使用して別のページを持っているのServer.Execute重複動的コンテンツ

<% 
    var1 = int(rnd * 5) + 1 
    var2 = int(rnd * 10) + 1 
%> 
<html> 
<body> 

what variable 1 is: <%=var1%> 
what variable 2 is: <%=var2%> 

</body> 
</html> 

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分の9になります。

これは私の2番目のサーバーの1ヶ月前に同じファイルで私に起こった、私は2番目のサーバーからすべてのファイルを削除し、最初のサーバー(今複製)それらを取り戻し、それを修正した。残念ながら、最初のサーバーのサーバーのコンテンツ全体をダウンロードしていないため、プロセスを元に戻すことができません。だから私はこの問題がサーバー側であるかどうか、あるいは私が書いているコードと関連しているかどうかは分かりません。私はちょうどそれがなぜあまりにも長く働くのかわからないだけで、どこかで働くことを止める。

メタノキャッシュコントロールを使用しようとしました。私は以前にサーバから複製した新しいフォルダを削除しても動作しませんでした。私はまたアップロードされた最後のカップルの日からファイルを削除しようとしたが、どちらもうまくいきませんでした。私は本当に誰かが私が間違ってここにやっていることを知っている願っています

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タグを削除し、その下にこのコードを使用することを始めました。この問題は、私が他のリソースのために使っているすべてのページであり、置換スクリプトはinclude行の周りにaspタグを追加できません。

<% 
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 
%> 
+0

は、あなたが使用していない何らかの理由ではなくのServer.Executeの含まれていますか?私はあなたが簡単にインクルードするようにファイルを変更することでこの問題を解消できると思います。 – HK1

+0

そうです、私はインクルードを使い始めましたが、インクルードする必要があるファイルのリストはあまりにも巨大で、ページの読み込み時間を大幅に遅くします。私はServer.Executeの使用が高速であり、インクルードタグ内の変数を使用できないため、スクリプト内で変数を使用することができたことが判明しました。 – xxstevenxo

+0

1つのサーバーで動作しますが、他のサーバーでは動作しません。どちらもまったく同じスクリプトを使用しており、両方ともGodaddyが主催しています。 – xxstevenxo

答えて

0

Link to working solution

<% 
'rnd.asp' 
randomize 

application("randomseed") = rnd 
server.execute ("rndj.asp") 

application("randomseed") = rnd 
server.execute ("rndj.asp") 

%> 

<% 
'rndj.asp' 
randomize application("randomseed") 
response.write rnd 
response.write("<br />") 
response.write rnd 
response.write("<br />") 
response.write("<br />") 

%>