ciao, ho creato una piccola applicazione che va a leggere e mostrare tutti i file presenti in una cartella sul server.
per ordinarli li metto in un recordset disconnesso e li riordino.
il problema è che mi va in timeout perche i file sono moltissimi... sono piccole immagini, ma ce ne saranno alcune migliaia...
il codice fatto è questo
avete consigli per ottimizzare il carico di lavoro?codice:<% Server.ScriptTimeout = 120 dim objfso,objfolder,objfiles,rs,strfile,fn,fc,strPath strPath = "\\ip-server\folder\" Set objFso = Server.createObject("Scripting.FileSystemObject") Set objFolder = objFso.GetFolder(strPath) Set objFiles = objFolder.Files dim quanti,pag,contatore quanti = 20 pag = Request.QueryString("pag") If IsNumeric(pag) = False Or pag < 1 Then pag = 1 contatore = 0 Set rs = Server.CreateObject("ADODB.Recordset") Rs.Fields.Append "nome", 200, 255 Rs.Fields.Append "data", 7 Rs.Open ' Scorri tutti i file nella cartella for each strFile in objFiles fn = strFile.name fc= strFile.DateCreated rs.addnew rs("nome")=fn rs("data")=fc rs.update next rs.Sort = "data desc" rs.PageSize = quanti rs.AbsolutePage = pag set objfso = NOTHING set objfolder = NOTHING set objFiles = NOTHING %> <%While rs.EOF = False And contatore < quanti%> <tr> <td class="td"> <% dim percorsoimmagine percorsoimmagine = strPath&rs("nome")&"" response.write("[img]"&percorsoimmagine&"[/img]") %> </td> <td class="td"> <%=rs("nome")%> </td> <td class="td"> <%=rs("data")%> </td> <td class="td"> <form action="firme_copia_rinomina.asp" method="post" name="firme_copia_rinomina" style="margin:0;"> <input name="firmaattuale" type="hidden" value="<%=rs("nome")%>" /> Copia e Rinomina in: <input name="firmanuova" type="text" size="25" value="<%=rs("nome")%>" /> <input name="cr" type="submit" value="ESEGUI" /> </form> </td> </tr> <% rs.movenext contatore = contatore + 1 Wend %> <tr><td colspan="4" class="td" align="center"> <%If pag > 1 Then%> Indietro <%End If%> <% Dim x x = 1 For x = 1 To rs.PageCount If CInt(pag) <> x Then %> [<%=x%>] <%Else%> [<%=x%>] <% End If Next %> <%If rs.EOF = False Then%> Avanti <%End If%> </td></tr>
grazie!

Rispondi quotando
