Hey Beto, Everyone

I've made a facility, and set everything up like the thread you posted
said to. But i'm not sure where i need to put the [DoNotWire]
attribute!    I'm getting this error:
{"A cycle was detected when trying to resolve a dependency. The
dependency graph that resulted in a cycle is:  - Service dependency
'session' type 'NHibernate.ISession' for
Void .ctor(NHibernate.ISession) in type
Rhino.Security.Services.AuthorizationRepository  - Parameter
dependency 'configurationFileName' type 'System.String' for
Void .ctor(System.Reflection.Assembly[], System.String) in type
Rhino.Commons.NHibernateUnitOfWorkFactory  + Parameter dependency
'configurationFileName' type 'System.String' for
Void .ctor(System.Reflection.Assembly[], System.String) in
Rhino.Commons.NHibernateUnitOfWorkFactory "}


this is my facility and  sub resolver


Public Class RhinoSecurityFacility
    Inherits AbstractFacility



    Protected Overloads Overrides Sub Init()
        Kernel.Resolver.AddSubResolver(New
ServiceISessionResolver(Kernel))

        Kernel.Register( _
            Component.For(Of INHibernateInitializationAware)() _
                .ImplementedBy(Of NHibernateDbSchemaGeneration)())


        Kernel.Register( _
            Component.For(Of IEntityInformationExtractor(Of Org))() _
                .ImplementedBy(Of
VBRhinoSample.OrgInformationExtractor)() _
        )
        Kernel.Register( _
            Component.For(Of IEntityInformationExtractor(Of User))() _
                .ImplementedBy(Of
VBRhinoSample.UserInformationExtractor)() _
        )
        Kernel.Register( _
            Component.For(Of IEntityInformationExtractor(Of
CustomField))() _
                .ImplementedBy(Of
VBRhinoSample.CustomFieldInformationExtractor)() _
        )
        Kernel.Register( _
            Component.For(Of IEntityInformationExtractor(Of
Qualification))() _
            .ImplementedBy(Of
VBRhinoSample.QualificationFieldInformationExtractor)() _
        )


        Kernel.Register( _
             Component.For(Of IPermissionsService) _
             .ImplementedBy(Of
Rhino.Security.Services.PermissionsService).LifeStyle.Is(Castle.Core.LifestyleType.Transient)
_
         )
        Kernel.Register( _
            Component.For(Of IPermissionsBuilderService) _
            .ImplementedBy(Of
Rhino.Security.Services.PermissionsBuilderService).LifeStyle.Is(Castle.Core.LifestyleType.Transient)
_
        )

        Kernel.Register( _
            Component.For(Of IAuthorizationRepository) _
            .ImplementedBy(Of
Rhino.Security.Services.AuthorizationRepository).LifeStyle.Is(Castle.Core.LifestyleType.Transient)
_
        )
        Kernel.Register( _
            Component.For(Of IAuthorizationService) _
            .ImplementedBy(Of
Rhino.Security.Services.AuthorizationService).LifeStyle.Is(Castle.Core.LifestyleType.Transient)
_
        )

        Kernel.Resolver.AddSubResolver(New
ServiceISessionResolver(Kernel))



    End Sub
End Class

Public Class ServiceISessionResolver
    Implements Castle.MicroKernel.ISubDependencyResolver

    Dim m_kernel As Castle.MicroKernel.IKernel

    Public Sub New(ByVal kernel As Castle.MicroKernel.IKernel)
        m_kernel = kernel

    End Sub

    Public Function Resolve(ByVal context As CreationContext, ByVal
contexthandlerResolver As ISubDependencyResolver, ByVal model As
Castle.Core.ComponentModel, ByVal dependency As DependencyModel) As
Object Implements Castle.MicroKernel.ISubDependencyResolver.Resolve
        Return m_kernel.Resolve(Of IUnitOfWorkFactory).CurrentSession

    End Function

    Public Function CanResolve(ByVal context As
Castle.MicroKernel.CreationContext, ByVal contextHandlerResolver As
Castle.MicroKernel.ISubDependencyResolver, ByVal model As
Castle.Core.ComponentModel, ByVal dependency As
Castle.Core.DependencyModel) As Boolean Implements
Castle.MicroKernel.ISubDependencyResolver.CanResolve
        Return True

    End Function

End Class


I THINK I'm close to finally getting this working!

i tried putting the DoNotWire on the currentsession property in the
UnitOfWork.cs   and on the CurrentSession property in the
nhibernateUnitOfWorkFactory.cs


Help Please!  and thank you :)


On 16 Mar, 15:17, Patricia Vandermeer <[email protected]>
wrote:
> Thanks Beto!
> that explains a few things!
>
> On Tue, Mar 16, 2010 at 2:50 PM, Beto <[email protected]> wrote:
> > Patricia,
>
> > You will need to create your own facility and resolver, look at this:
>
> >http://groups.google.co.uk/group/rhino-tools-dev/browse_thread/thread...
>
> > On 16 Mar, 09:41, Patricia Vandermeer <[email protected]>
> > wrote:
> > > I found this thread:
> >http://groups.google.co.uk/group/rhino-tools-dev/browse_thread/thread...
>
> > > which explains where it went.  But i'm having the same problem that Dan
> > was
> > > having!
>
> > > Can't create component 'Rhino.Security.Services.AuthorizationRepository'
> > as
>
> > > > it has dependencies to be satisfied.
> > > > Rhino.Security.Services.AuthorizationRepository is waiting for the
> > > > following dependencies:
>
> > > > Services:
> > > > - NHibernate.ISession which was not registered.
>
> > > Thanks again for the help!
>
> > > On Tue, Mar 16, 2010 at 12:11 PM, patricia <
> > [email protected]>wrote:
>
> > > > Hello, Me again,
>
> > > > I'm trying to build my project with fresh versions of rhino commons
> > > > and security and castle windsor.  But i seem to have lost
> > > > RhinoSecurityFacility !
>
> > > > in the RhinoSecNhSetup.zip   sample app it seems to be in
> > > > rhino.security  but it is no where to be found in the version i got
> > > > from github!
>
> > > > here is what visual studio's comes up with when i do a "go to
> > > > definition"  on it in the sample project:
>
> > > > using Castle.MicroKernel.Facilities;
> > > > using System;
>
> > > > namespace Rhino.Security
> > > > {
> > > >    public class RhinoSecurityFacility : AbstractFacility
> > > >    {
> > > >        public RhinoSecurityFacility(Type userType);
> > > >        public RhinoSecurityFacility(SecurityTableStructure
> > > > securityTableStructure, Type userType);
>
> > > >        protected override void Init();
> > > >    }
> > > > }
>
> > > > I have a feeling this is me just looking in all the wrong places, but
> > > > i've run out of places to look!
>
> > > > Thanks for the help!
>
> > > > --
> > > > 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]<rhino-tools-dev%[email protected]>
> > <rhino-tools-dev%2Bunsubscribe@ googlegroups.com>
> > > > .
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/rhino-tools-dev?hl=en.
>
> > --
> > 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]<rhino-tools-dev%[email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/rhino-tools-dev?hl=en.

-- 
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