Cache

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I am saving items in the cache in my code behind. By setting these items with
an expiration are these items only available for the page its being set or
throughout the application? My next question is can these cache items be
accessed on the client side code(Javascript), If so, how? do you have any
javascript code out there that accesses these cached items from the code
behind?

thank you in advance...
 
If you are refering to the Cache API (cache.insert(...)) they are
accessible by all users and all code/pages in your application via the key
you used to add to the cache.

The only way to access information in the cache in javascript is to
response.write (or something similar) the cache values out into javascript
code....In other words there's no clean/simple way.

Karl
 
Okay, first, it is important to note that there is no "THE Cache" - There
are many caching mechanisms in ASP.Net, including, but not limited to the
Application Cache, SessionState, ViewState, and Page Output Cache. I can see
from your message context that in this case, you're referring to the
Application Cache, but I wanted you to know that you have plenty of options
for caching data. Each of these options has different characteristics that
make it more or less appropriate for the specific kind of aching you want to
do. ViewState, for example, has Page scope, which means that it is
accessible to a given user (client browser instance) and a given page, and
passes away whenever the user navigates away from a page. SessionState is
global to a user across pages, but not available to any other user (client
browser). Application Cache is visible to all user Sessions and for the
lifetime of the Application, or the timeout you set for it.

ASP.Net has both server-side and client-side components, and never the twain
shall meet. The server-side objects generate client-side HTML, which is then
posted back to the server, etc. As HTTP is stateless, there is no
communication between client and server, other than a Request (POST or GET),
and the HTML document that is received by the client browser. Therefore, as
these caching mechanisms are all on the server, there is no way to access
anything on the server via the client (a bit oversimplified, but useful in
this context).

The only way for any HTML object or script on the client to know anything
about what is on the server is if it is present in the HTML document on the
client. IOW, you can write out values into hidden HTML form fields, etc., if
you want to access that data on the client.

--
HTH,
Kevin Spencer
..Net Developer
Microsoft MVP
Big things are made up
of lots of little things.
 
Not entirely true there:

Using <% ServerVariable%> can get values from the server then the java can
access this value.

Also, posting or html control values can be captured on the aspnet
codebehind side.

Harry
 
Note what I said:

Note what you said:
Using <% ServerVariable%> can get values from the server then the java can
access this value.

What you described is exactly (but badly demonstrated) what I was talking
about - writing data into the client HTML document. And BTW, JavaScript is
NOT Java.

Note what I said:

IOW, you can write out values into hidden HTML form fields, etc.,
Note what you said:
Also, posting or html control values can be captured on the aspnet
codebehind side.

Am I missing something, or is your "correction" in agreement with what I
said?

If you don't understand the technology that well, keeping silent will make
people think you do.

--
HTH,
Kevin Spencer
..Net Developer
Microsoft MVP
Big things are made up
of lots of little things.
 
Back
Top