Ok.

On Mon, Oct 13, 2008 at 3:52 PM, Ayende Rahien <[EMAIL PROTECTED]> wrote:
> Implement IUnitOfWorkFactory, delegate to the real implementation and handle
> CurrentSession
>
> On Mon, Oct 13, 2008 at 7:50 PM, Will Shaver <[EMAIL PROTECTED]> wrote:
>>
>> > IsStarted
>>
>> I need to set a filter on the session when it is first opened to the
>> current time. I can't simply check to see if the unit of work is started, I
>> need it to call me.
>>
>> > transient/singleton
>>
>> I assume that this would involve some windsor core stuff that I've never
>> looked at... hmm...
>>
>> On Fri, Oct 10, 2008 at 5:08 PM, Ayende Rahien <[EMAIL PROTECTED]> wrote:
>>>
>>> UnitOfWork.IsStarted
>>>
>>> Patch to check that the Interceptor is set to transient instead of
>>> singleton or some such
>>>
>>> On Sat, Oct 11, 2008 at 2:02 AM, Will Shaver <[EMAIL PROTECTED]>
>>> wrote:
>>>>
>>>> I'm not sure what exactly I would patch. On review it is more a
>>>> word-of-caution than something wrong with the Rhino code.
>>>>
>>>> I'll just use UnitOfWork.CurrentSession in my interceptor.
>>>>
>>>> While we're on the topic - is there a way to determine when a unit of
>>>> work is started? I can't seem to find one (and would probably be willing to
>>>> patch for that.) Previously I was using IInterceptor.AfterTransactionBegin,
>>>> but that always necessitated starting a transaction before doing ANY 
>>>> work...
>>>>
>>>> Something like INHibernateInitializationAware but instead
>>>>
>>>> public
>>>>
>>>> interface IUnitOfWorkAware
>>>> {
>>>>  void UnitOfWorkStarted();
>>>>  void UnitOfWorkResumed(); //for long unit of work
>>>>  void UnitOfWorkStopped();
>>>> }
>>>> still thinking about it, but I'd really just need started/resumed.
>>>>
>>>>  -Will
>>>>
>>>>
>>>>
>>>> On Fri, Oct 10, 2008 at 4:46 PM, Ayende Rahien <[EMAIL PROTECTED]>
>>>> wrote:
>>>>>
>>>>> 1/ to be session aware interecptor, you must be specified at
>>>>> OpenSession time. Nhibernate supports configuration time interceptors, but
>>>>> they are not session aware, for multi threading safety reasons
>>>>> 2/ a patch would be welcome.
>>>>>
>>>>> On Sat, Oct 11, 2008 at 1:40 AM, Will Shaver <[EMAIL PROTECTED]>
>>>>> wrote:
>>>>>>
>>>>>> in NHibernateUnitOfWorkFactory
>>>>>>
>>>>>> if (IoC.Container.Kernel.HasComponent(typeof(IInterceptor)))
>>>>>> {
>>>>>>    IInterceptor interceptor = IoC.Resolve<IInterceptor>();
>>>>>>    ...
>>>>>>
>>>>>> If the IInterceptor is set up in the windsor config with the default
>>>>>> implementation it will be a singleton. When OpenSession is called in
>>>>>> NHibernate it will:
>>>>>>
>>>>>> if (sessionLocalInterceptor != null)
>>>>>> {
>>>>>>    sessionLocalInterceptor.SetSession(session);
>>>>>> }
>>>>>>
>>>>>> So if we have more than one session open at once - easy to do for a
>>>>>> web app - we could be causing a clobbering of the session stored in the
>>>>>> interceptor right?
>>>>>>
>>>>>> If so, do you recommend that you
>>>>>>
>>>>>>  #1 Use UnitOfWork.CurrentSession instead of relying on SetSession()
>>>>>> with a local var
>>>>>>  #2 Set up the lifestyle of the Interceptor to be something other than
>>>>>> singleton, and if so what?
>>>>>>
>>>>>>  - Will
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" 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/rhino-tools-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to