When you think ASP, think...
Recent Articles
All Articles
ASP.NET Articles [1.x] [2.0]
ASPFAQs.com
Message Board
Related Web Technologies
User Tips!
Coding Tips
Search

Sections:
Book Reviews
Sample Chapters
Commonly Asked Message Board Questions
Headlines from ASPWire.com
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Security
Stump the SQL Guru!
Web Hosts
XML Info
Information:
Advertise
Feedback
Author an Article
Technology Jobs



















internet.com
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers
ASP ASP.NET ASP FAQs Message Board Feedback ASP Jobs
Print this page.

Network Design Manager
The Computer Merchant, Ltd
US-VA-Hampton

Justtechjobs.com Post A Job | Post A Resume

Published: Tuesday, May 09, 2000

Speeding Up ASP Pages by With Caching
By Andrew Jennings


I was having some issues with my initial default.asp page of my site loading slow due to the fact that it was loading some product information from a database. The information on the front page did not change very often (product specials, categores, etc.), so I implemented a quick script to cache the results of the .ASP page in an application variable and blast it out to the user when they request the page. It goes something like this:

    - continued -

    1. First rename your default.asp (or whatever page you will be caching) to something else. In my case, I used default_0.asp.

    2. Download or create an HTTP component. I used SOFTWING's ASPtear for this example, but you can use anything you like. (For information on how to use ASPTear, be sure to check out: Grabbing Information From Other Web Servers.)

    3. Replace your default.asp with a new one that looks like this...

    <OBJECT RUNAT=server PROGID=SOFTWING.ASPtear ID=ASPGET></OBJECT>
    <%
      Option Explicit
    
      'Tell the browser not to cache this page
      Response.Expires = 0
    
      'check to see if the page cache time has expired
      'and if we need to recreate the page contents in 
      'the cache.  I used a 2 hour interval, but you can
      'set this to whatever you want depending on your
      'requirements
      if datediff("h", Application("Default_TimeStamp"), now()) _
            >=2 then
        Application.Lock
    
        'get the contents of the .ASP page and save them
        'in an application variable
        Application("Default") = _
           ASPGET.Retrieve("http://127.0.0.1/Default_0.asp", 2, "", "", "")
    
        'set the timestamp for caching
        Application("Default_TimeStamp") = now()
        Application.Unlock
      end if
    
      'write the contents of the page to the browser
      Response.Write Application("Default")
    %>
    

That's it! A quick and easy way to dramatically speed up the performance of an individual web page. I wondered whether having buffering turned on would have a negative impact on the page loading because it was already in memory. If you wanted, you could schedule a script to run every 2 hours on the server that would update the Application variable so the user that first requests the page would not have to wait for the page to be loaded into cache. There are infinite possibilities here...

For more information on caching data in the Application object, check out these great articles:

Happy Programming!

Andrew Jennings
Andy.Jennings@eds.com


Windows Internet Technology | ASP.NET [1.x] [2.0] | ASPMessageboard.com | ASPFAQs.com | Advertise | Feedback | Author an Article