views:

194

answers:

2

Ok I'm new to SharePoint and ASP, so bear with me...

I want to persist objects to the session array for maintaining stuff between postbacks. I enabled the session array in my web.config file, and everything works fine if I use basic value types or objects that are part of the .NET framework.

But if I try and save an instance of an object that I define the class for, I get an error message "An unexpected error has occurred.", even though I can step through the program without any errors being thrown.

What do I have to do to save my objects to the session array?


Edit:

So after starting the callstack as suggested, I get the following error:

Unable to serialize the session state. In 'StateServer' and 'SQLServer' mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. The same restriction applies if similar serialization is done by the custom session state store in 'Custom' mode.

I suppose I could serialize my objects... is there a setting in the config file to make it not require SQL Server?

A: 

Is the SharePoint session HttpModule enabled in web.config?

<add name="Session" type="System.Web.SessionState.SessionStateModule"/>

if you set Callstack="true" on your web.config file you can probably see the "[Error Reason] because Session State is disabled"

F.Aquino
+2  A: 

Mark your custom class with the [Serializeable] attribute. If your class has fields that are references to other custom classes, make sure those have the [Serializeable] attribute as well

Jon Schoning