I'm pleased to introduce the availability of a new HTTP Module, the StructureTooBig StateHandler (update: now called the StateManager). A number of months ago I posted (in this entry) about my attempts at ridding myself of session state on my server. Kinda tough to do in most situations.

ASP.NET InProc session handling wasn't working too well for me: fact is, the shared hosting environment was just too taxing. It's bad enough that the cache was getting flushed with each app recycle, but losing state was really throwing things off, since login status and what not was all lost. Unfortunately, SQL Server session handling wasn't much of an option on shared hosting, either, for performance reasons. (Works awesome on a dedicated box with a gigabit LAN -- not exactly reflective of my production environment.)

Enter this project. The idea is simple: maintain session and persisted state without InProc session management, a SQL Server, or a State Server. The result is the StructureTooBig StateHandler ... in a nutshell, it uses an HTTP Module to populate a state object for use in a web application. At the beginning and end of each request, the state object is deserialized/decrypted or serialized/encrypted and pushed to the client.

My tests with it have been real positive, so I've cranked out some documentation and information pages ... visit this link for more information. My hope is that some of you may find this to be a useful, surprisingly powerful solution to solving session management problems -- particularly addressing issues of scalability and reliability.

I already have a number of ideas for improvements, but it's been in the hopper long enough and I've been using this since June, so it's time for a 1.0 release. Check it out. I have changed the licensing terms a tad from the other projects on this site for commercial use, so please read over the terms if you'd like to use this commercially.

I'm also experimenting with a new navigation system in the development section ... a collapsible treeview approach. If it works out well, I'll use it site-wide.

Feedback on the StateHandler, the navigation, the weather -- whatever -- is welcomed!