I worked on an Workaround for 'conversation scope' on 'Spring.Net 1.3.0'.
The problem is well known: In some situations it is necessary that the objects are not as durable as the as those of "session scope" and not as volatile as those of "request scope".
I suggest the implementation attached. The tests are included.
Basically I considered the following features:
- Start / End of Conversation;
- Nested conversations;
- Conversation timeout;
- "session-per-converastion" (NHibernate)
When a conversation with a 'hibernate Session' is started/resumed
the session is created/reconnected.
Some limitations exists:
1) Participating in existing Hibernate SessionFactory IS NOT ALOWED. In the same way, 'Deferred close' IS NOT ALOWED.
2) Only one conversation can have 'true' value in "ISession.IsConnected" for its ISession simultaneously.
I took into consideration what I found in the following references:
For build and tests, you can use 'vs2005' or 'vs2008 express'
Targhet Framework: '.Net Framework 2.0'
-(GAC)\System.Data.SQLite (126.96.36.199) (http://sqlite.phxsoftware.com/) (http://sourceforge.net/projects/sqlite-dotnet2/files/SQLite%20for%20ADO.NET%202.0/188.8.131.52/SQLite-184.108.40.206-setup.exe/download)
Sorry for some spelling errors. I do not speak English very well.
Cheers, Hailton de Castro.