You need to cast objects coming out of cache. ∞ Andy Badera ∞ +1 518-641-1280 ∞ This email is: [ ] bloggable [x] ask first [ ] private ∞ Google me: http://www.google.com/search?q=andrew%20badera
On Fri, Sep 25, 2009 at 6:01 PM, Ana <[email protected]> wrote: > > I'm having problems with the Cache now. For caching my DataTable I > tried the following: > > 1. Cache("myTable") = myTable > 2. Cache.Insert("myTable", myTable") > > And to access the table cached I tried the following: > > 1. myTable = Cache.Get("myTable") > 2. myTable = Cache.Item("myTable") > > However, in all cases, after a post back (by the click of a button) > myTable is Nothing. What is happening that myTable is losing its > values? > > > On Sep 25, 11:20 am, Andrew Badera <[email protected]> wrote: >> Access to the same information is one thing, but do they have >> different views of it? How often does the information change? On what >> basis do you refresh your cache? >> >> For a data view that has ANY kind of variability per-user or >> per-session or over session-lengths of time, Session is your best bet. >> >> Scaling issues come into play here because Application Cache and >> Session both live on a single server. If you have a farm, you may not >> know what server your user is going to be handled by. Load balancing >> with sticky sessions minimizes the risks here, but if a server goes >> down, you lose that Session and that Application Cache. Minimize use >> of these kinds of caching. State server is slightly better, but only >> as good as the state server itself. Database-based sessions are the >> most reliable and scale the best, but they're not the most performant. >> (Nor, for that matter, is a state server. Anything out-of-process is >> slower.) >> >> ∞ Andy Badera >> ∞ +1 518-641-1280 >> ∞ This email is: [ ] bloggable [x] ask first [ ] private >> ∞ Google me:http://www.google.com/search?q=andrew%20badera >> >> On Fri, Sep 25, 2009 at 1:06 PM, Ana <[email protected]> wrote: >> >> > I still can't see which one is best in my case. The page I'm working >> > on now is to be used for a few people (maximum 3) and all of them have >> > access to the same information and he table will be used exclusively >> > in the page. I'm using Cache now. But is this the best solution? >> >> > Besides, what do you mean by "limits them when it comes to scaling"? >> >> > Thanks a lot, Andrew! >> >> > Ana >> >> > On Sep 25, 10:57 am, Andrew Badera <[email protected]> wrote: >> >> Cache is intended for something that will be used repeatedly >> >> throughout the application by different users. Session is intended for >> >> per-user data. Both caches (because that's what Session is too, it's >> >> little different than Application.Cache) have the same machine >> >> affinity that limits them when it comes to scaling. >> >> >> ∞ Andy Badera >> >> ∞ +1 518-641-1280 >> >> ∞ This email is: [ ] bloggable [x] ask first [ ] private >> >> ∞ Google me:http://www.google.com/search?q=andrew%20badera >> >> >> On Fri, Sep 25, 2009 at 12:52 PM, Ana <[email protected]> >> >> wrote: >> >> >> > What about caching the table? Is this a good way to do it? >> >> >> > On Sep 25, 10:47 am, Andrew Badera <[email protected]> wrote: >> >> >> You _can_ put "anything" into Session. Beware possible (probable?) >> >> >> performance/scaling issues however. >> >> >> >> ∞ Andy Badera >> >> >> ∞ +1 518-641-1280 >> >> >> ∞ This email is: [ ] bloggable [x] ask first [ ] private >> >> >> ∞ Google me:http://www.google.com/search?q=andrew%20badera >> >> >> >> On Fri, Sep 25, 2009 at 12:35 PM, Ana <[email protected]> >> >> >> wrote: >> >> >> >> > Hi, >> >> >> >> > I'm binding a Data Table based on the Directory Structure and in >> >> >> > information retrieved from the DB. First I add all records from the >> >> >> > Data Base into the table and then I go through each node of a >> >> >> > TreeView >> >> >> > (the TreeView matches the Directory Structure) and, if a record is >> >> >> > not >> >> >> > in the Data Base (and consequently in the table), I add it to the >> >> >> > table. >> >> >> > Because this is a quite slow operation and I need the table a lot of >> >> >> > times, I would like to keep this DataTable even after a post back >> >> >> > occurs. Is this something possible, or every time I have to re-bind >> >> >> > the table? >> >> >> >> > Thanks, >> >> >> >> > Ana >
