I would appreciate getting that document. There are a lot of 404 links from 
Google to it. Maybe it should be rewritten and uploaded on the new site 
(together with documentation on the conversation API).

I read through that thread and I see that in a recent thread Dan actually have 
done some work on the issue.

/Christian

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Nicholas Kilian
Sent: den 30 mars 2011 11:42
To: [email protected]
Subject: RE: AR and a stale transaction

The only thing I can find is a message thread between Dan and Markus discussing 
it.
http://groups.google.com/group/castle-project-users/browse_thread/thread/4fb
8e68ab10479c2/13a65a1b8890e371

I have a hard copy of Markus's document on the Conversation pattern somewhere, 
will try find it, scan it and send it through to you.

Markus did say it was designed as 'Conversation per Form' rather than 
'Conversation per Application'. My approach when passing instances between 
forms or controls, is to get their PK and re-load the entity from the database 
using the new scope.

Regards
Nick

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Christian Axelsson
Sent: 30 March 2011 11:38 AM
To: [email protected]
Subject: RE: AR and a stale transaction

Your guess is almost correct as I'm on WPF, but that probably doesn't matter.

Can you point me to any documentation on the conversation stuff? I can't find 
anything on the AR web site.
I tried to initialize a ScopedConversation when I configure AR but without a 
global session scope AR explodes as soon as I try to access a lazy loaded 
property in my front-end code. And keeping a global ConversationalyScope will 
probably be as bad as keeping a global SessionScope, right?

/Christian

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Nicholas Kilian
Sent: den 30 mars 2011 10:50
To: [email protected]
Subject: RE: AR and a stale transaction

I guess you're on winforms? Take a look at ConversationalScope and 
ScopedConversation.

There was an article on it somewhere, but I think it got lost in the move to 
the new docs site.

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Christian Axelsson
Sent: 30 March 2011 10:42 AM
To: [email protected]
Subject: AR and a stale transaction

Hello,

I try to persist an entity to database using 

  myEntityRepository.Save(myEntity); // This will end up calling 
ActiveRecordMediator.Save(entity);
  SessionScope.Current.Flush();

By configuring AR to show SQL in output window I see that the update hits 
database but for some reason it isn't committed to DB. Investigating further I 
see that I'm stuck with an open transaction meaning that the whole table is 
locked until my session scope is disposed (upon application exist).

Currently I create a session scope when AR is initialized and leave it there. 
Wrapping the save statement inside a new TransactionScope "fixes" the problem 
but I find that kind of ugly. Manually disposing the current session scope and 
recreating it also works but that is quite ugly as well I think.
It feels like using a "global" session scope like this isn't really the way to 
go but if I don't create a session scope before starting to throw queries at AR 
lazy loading breaks.

Any hints on how to solve this?

/Christian

--
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/castle-project-users?hl=en.

--
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/castle-project-users?hl=en.

--
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/castle-project-users?hl=en.

--
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=en.

Reply via email to