Andrew I don't think it is a better example as you have to insert your code into every Page derived classes.
The example provided in this article uses a PageAdapter which :
- already takes care of creating only one instance of the SessionPageStatePersister
- is automagically set for every Page derived classes in your application
All you have to do is add the App_Browsers special folder to your solution and add this SessionPageStatePersister.browser file in it:
<browsers>
<browser refID="Default">
<controlAdapters>
<adapter controlType="System.Web.UI.Page"
adapterType="Samples.AspNet.CS.MyPageAdapter" />
</controlAdapters>
</browser>
</browsers>