Without going into whether this is a good or bad idea:
Is it possible to store a LINQ-to-SQL domain object in the ASP.NET Session, when the session is out-of-process?
[EDIT] I'm currently getting the following error and asked this question because I suspect the LINQ-to-SQL objects:
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. [/EDIT]
e.g.
Session["Zoo"] = new Zoo() {
new Lion(),
new Tiger(),
new Elephant()
}
where:
- Zoo, Lion, Tiger, Elephant all come out of a ZooDataContext
and the web.config file contains
<sessionState
mode="StateServer"
stateConnectionString="tcpip=127.0.0.1:42424"
stateNetworkTimeout="10"
sqlConnectionString="SqlStateConnectionString"
sqlCommandTimeout="30"
timeout="20"
regenerateExpiredSessionId="true"/>