Performance Tips for Web Applications


Author
Message
Govinda Berrio
Govinda Berrio
StrataFrame User (240 reputation)StrataFrame User (240 reputation)StrataFrame User (240 reputation)StrataFrame User (240 reputation)StrataFrame User (240 reputation)StrataFrame User (240 reputation)StrataFrame User (240 reputation)StrataFrame User (240 reputation)StrataFrame User (240 reputation)
Group: StrataFrame Users
Posts: 94, Visits: 481
HI All,



I'm relatively new to asp.net development, but I think understand many of the concepts involved. I'm working on a project that uses SF and I'm very happy with how it's helped me.



I've noticed that on the web server, the worker process for this application grows very large (~140MB+). I understand this is because the BO is stored in the session between postbacks. Unfortunately there are situations in my app where I have to load a BO with a large number of records. So I'd like to know if anyone has a strategy for removing unnecessary BOs from the session state.



I'll share an idea that was considering. Group BOs using different ApplicationBasePages for each section of the site. Store the name of the current basepage in the session. In each page, check for the current basepage changing. If it is changing, call Dispose() on each BO for the old basepage. This should make it so only those BOs in the current section are loaded at taking up memory.



Another option (in addition to the above) could be to have the BOs only contain a page of the information at a time. But I couldn't find anything related to this on the site. And I'm not sure how that would work with the WebBusinessBindingSource.



Any advice would be greatly appreciated.



Thank You,

Govinda
Trent Taylor
Trent Taylor
StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)
Group: StrataFrame Developers
Posts: 6.6K, Visits: 6.9K
That is a good idea and one thing I would bring up on this point is that you may not actually need these types of BOs to be created in the ApplicationBasePage.  When I am working on web apps that are going to be doing a lot of processing, I will not put my processing BOs in the ApplicationBasePage, only the BOs that I want to be managed by the session state and/or to which I will be binding.  Worker BOs like this I will create in code so that I can do exactly what you were referring to here...Dispose().  But if you want to keep this in the session, then just Dispose and recreate the session variable.  This would have the same effect and you wouldn't have to create a lot of different base pages to try and manage this.
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search