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
>

Reply via email to