ASP to static HTML

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.


Public

Not Tested

Not My Work
<%
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 & _
        "%" & ">")
    ' fsmyfile.close
    ' fs.close
    ' Response.Redirect(todayfile)    ' Send them to new file
Else
    ' fsmyfile.close
    ' fs.Close
    ' Response.Redirect(todayfile)    ' Send them to current file
End if
fsmyfile.close
fs.Close
Response.Redirect(todayfile)    ' Send them to current or newly created file
%>
'        ================================================================================
'        ================================================================================

Views 202 Downloads 48

Classic ASP Layout+Design
ANmarAmdeen
784
Attachments
Revisions

v1.0