I'm not sure I understand: do you want to test the whole session-per-
request flow (with controllers and everything) or just the
UnitOfWorkModule ?

On Jan 15, 1:46 pm, Jason Meckley <[email protected]> wrote:
> I use NH with MR and the Session Per View Model. currently I use an
> HttpMoudule. to manage session scope like this:
> public class UnitOfWorkModule : IHttpModule
> {
>         public void Init(HttpApplication context)
>         {
>                 var factory = WindsorContainerAccessorUtil
>                         .ObtainContainer()
>                         .Resolve<ISessionFactory>();
>                 context.BeginRequest += (sender, e) => 
> CurrentSessionContext.Bind
> (factory.OpenSession());
>                 context.EndRequest += (sender, e) => 
> CurrentSessionContext.Unbind
> (factory).Dispose();
>         }
>
>         public void Dispose()
>         {
>         }}
>
> which works, but I cannot test this and requires me to configure the
> web.config file.  I could put this in the global file, but I still
> cannot test that.
>
> I tried implementing an IMonoRailExtension to hook into the
> ExtensionManager Pre/Post ControllerProcessing but that failed on 2
> accounts.
> 1. a default ctor is required, so it's not resolved from Windsor and I
> cannot inject the sessionfactory as a ctor dependency.
>
> 2. If I use WindsorContainerAccessorUtil to resolve the sessionfactory
> from the container. i get a "Session not bound to the current
> context". reviewing the source i found the controller is resolved
> before calling pre/post controller processing. so this is out as well.
>
> Is there an extension point in MR 1.0.3.0 where I can easily test NH
> session scope management? the scope would look like this
>
> 1. request is received
> 2. MR begins processing
> 3. open session
> 4. resolve controller
> 5. process action
> 6. dispose of session
> 7. MR completes processing
> 8. response is sent
-- 
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