This is a solution for stripping out viewstate before it hits the client. The thought for making this utility was the following, viewstate has no real use fullness on they client besides reconstructing the control tree and as a state bag. Most of the time developers turn viewstate off on controls because it tends to become huge and slows down the streaming of content.
Even when using Ajax API’s such as Microsoft Ajax and Anthem.Net viewstate is still passed back and forth. So even though we get partial page updates we are still passing through that big chunk back and forth, watch we have done is we have disguised the problem but not solve it.
What has been done is eliminated viewstate being sent out to the client and being stored in another medium.
Current Supported mediums:
- SQL Database
SQLDatabase is inserting viewstate into a table given certain keys.
Session was chosen as a storage method also after a friend asked me “so what are you doing sticking it in session?”….I answered no. Then it got me to thinking well…what if i do store it in session…what would be so bad? Session…well what would be the impact of the different flavors of session..
- InProc Session: I would avoid a round trip to the server and it would be saved in memory…If i also compress it it shouldn’t be so bad.
- Session State Server: In this case i piggy back of the session state server and double it as a viewstate server as well.
The Session & Database methods helps the issue of retrieving the right viewstate from a web farm.
So I have put a W.I.P version on codeplex that i will be updating on the weekend….I know right now its not Pure OO … its not something that Jean-Paul S Boodhoo would approve lol
What cause failure in a project from my point of view are a couple of small basic Issues.
- Sufficient Information.
I know it seems like I’m over simplifying things, but I’m about the general case why projects tend to fail. Not because the company got sold, or one day you your systems collapse the day before ship or anything short of divine intervention.
1. Sufficient Information:
Providing proper documentation about the project is essential to the success, a lot of people are of the notion that the developer doesn’t need to everything about a project. While they don’t need to know everything it would be nice to know most of it. This means that the Analyst or PM must provide all work flows of how a user’s will be accessing and using the application. so that there are know gotcha’s in the end. I do not place most the blame on the Analyst or PM because the user might not at the time tell them everything. But that is there job… to quote Billy Hollis ” this is where prototyping with a rapid feedback loops is essential.”
There needs a to be a person providing the direction technical or non-technical direction, but someone with a vision of some sort. This is so that the project feels more than just that, making the people involved as part of something greater; giving them a sense of ownership in what there doing.
There needs to be a person that pushes the envelope and set the bar. There something to be said about people who truly love what there doing, if you project is full of people that just want to be there 8 to 5 and just get there task done…well you gonna put out something that reflect 8 to 5 and just works, and feels like any other application.
So I have been getting into XAML, And actually witting the markup by hand. And it reminds
me of java and how we had to arrange the UI with the swing components using panes. But for the most part it was basically the same except it was all done in XML instead of programmatic (even though you can still do it programmatically WPF).
Then i went and downloaded the trial edition of Microsoft Expression Design… Think Flash meets Photoshop. You get all the Glits of photoshop and the vector graphics of flash. So i created a small project and placed objects, applied a couple filters to give it the Photoshop type glitz. So i got curios what would the the XAML file look like after i export it. I exported it to a XAML file and opended it in notepad. Man it was huge…but i could understand what was going on still….so you still have the option of going in and tweaking things by hand. You could never get those effects with out a design tool, it would just drive you insane