Convert Dynamic ASP files into HTML (once daily) to make them faster when refresh.
This is as inherited and found from my old library, could inspire a better way to do that.
If you have a large amount of data to give to the user as HTML and this data needs to change once a day then this will speed up the process for the user.
The following code will create a file the first time a page is hit for each day.
The upside of doing it this way is you have a record of what the use saw on any given day.
The downside is the first person takes the performance hit to write the page and you need to check to make sure the user came to this page first. In other words, if they save yesterdays page as a favorite then they will see old data unless you redirect.
Used the month and day to handle this problem. Does not use the year. There are many other ways to handle this.
Dim fs, fsmyfile, todayfile, ckdayfile, cr, qt
' Get name of file as it needs to be today
todayfile = "Cur" & cstr(month(date())) & cstr(day(date()))
ckdayfile = "" & cstr(month(date())) & cstr(day(date())) & ""
todayfile = trim(todayfile) & ".asp"
Set fs = CreateObject("Scripting.FileSystemObject") ' Create FileSystemObject
On Error Resume Next ' File may not be built
' Check to see if we already have the HTML file Built
Set fsmyfile = fs.OpenTextFile("c:\inetpub\scripts\asp\jeff\" & todayfile,1,0)
if err <> 0 Then ' Need To build today
fsmyfile.Close ' Close File
Set fsmyfile = fs.OpenTextFile("c:\inetpub\scripts\asp\jeff\" & todayfile,8,1,0)
cr = chr(13) ' Save some typing (I'm lazy)
qt = chr(34) ' The Only way I could Get the quote marks correct
codeout = "<%@ LANGUAGE=""VBSCRIPT"" %" & ">" & cr
codeout = codeout & "<%" & cr
codeout = codeout & "today = " & qt & cstr(month(date()))&cstr(day(date())) & qt & cr
codeout = codeout & cr & "if today<>" & qt & ckdayfile & qt & " then" & cr
codeout = codeout & "response.redirect(" & qt & "wrtest.asp" & qt & ")" & cr
codeout = codeout & "else %" & ">" & cr
fsmyfile.Writeline("" & codeout & cr & _
"<" & "HTML>" & cr & _
"<" & "TITLE>Write and Check Raw HTML For Speed<" & "/TITLE>" & cr & _
"<" & "BODY>" & cr & _
"Hello todays file is called " & todayfile & cr & _
"<" & "/BODY>" & cr & _
"<" & "/HTML>" & cr & _
"<" & "%End if" & cr & _
"%" & ">")
' Response.Redirect(todayfile) ' Send them to new file
' Response.Redirect(todayfile) ' Send them to current file
Response.Redirect(todayfile) ' Send them to current or newly created file