True. Will check how hard it would be to change that.

On Tue, Jan 27, 2009 at 6:44 PM, Ayende Rahien <[email protected]> wrote:
> There is nothing problematic with it, no, but that isn't the way that we
> currently work.
> Instansiate (which also set the properties) run under the scope of the
> current resolving handler, as such, it cannot be resolved.
> It is only after we successfully create it that we can set it.
>
> On Tue, Jan 27, 2009 at 9:42 PM, hammett <[email protected]> wrote:
>>
>> Then we have a bug. In theory the case I depicted is perfectly valid.
>> MEF supports it..
>>
>> On Tue, Jan 27, 2009 at 6:40 PM, Ayende Rahien <[email protected]> wrote:
>> > Not that I can see.
>> > we would resolve one, but not both
>> >
>> > On Tue, Jan 27, 2009 at 6:27 PM, hammett <[email protected]> wrote:
>> >>
>> >> As long as they are both singletons and use properties, it should work
>> >> fine.
>> >>
>> >> On Tue, Jan 27, 2009 at 2:28 PM, Chucara <[email protected]> wrote:
>> >> >
>> >> > I've spent the last few hours looking for a concrete answer to this
>> >> > problem (I see others have had the same/similar), but I can't seem to
>> >> > find any documentation anywhere, nor an answer here that directly
>> >> > tells me what I need to do.
>> >> >
>> >> > My problem is that I have two services:
>> >> >
>> >> > Service1 : IService1
>> >> > - Requires an instance of Service2
>> >> >
>> >> > Service2: IService2 - requires an instance of Service1
>> >> >
>> >> > In other words, a circular dependency.
>> >> >
>> >> > So far I've created a constructor for Service1:
>> >> >
>> >> > public Service1(IService2 service2) {...}
>> >> >
>> >> > I obviously can't do the same for Service2, so I tried to expose a
>> >> > property on Service2 (and IService2):
>> >> >
>> >> > public IService1 Service1 { get; set; }
>> >> >
>> >> > What is the missing link here? How do I let Windsor know that I needs
>> >> > to put the square peg (the Service1 instance) in the square hole (the
>> >> > Service1 property on Service2).
>> >> >
>> >> > ..if I leave it at that, Service2 never gets an instance of Service1.
>> >> > ..if I add the parameters like so:
>> >> >
>> >> >      <component
>> >> >          id="dummy"
>> >> >          service="Mars.Client.IDummyService, Mars.Client"
>> >> >          type="Mars.Client.DummyService, Mars.Client">
>> >> >        <parameters>
>> >> >          <dummyService2>${dummy2}</dummyService2>
>> >> >        </parameters>
>> >> >      </component>
>> >> >
>> >> >      <component
>> >> >          id="dummy2"
>> >> >          service="Mars.Client.IDummyService2, Mars.Client"
>> >> >          type="Mars.Client.DummyService2, Mars.Client">
>> >> >        <parameters>
>> >> >          <dummyService>${dummy}</dummyService>
>> >> >        </parameters>
>> >> >      </component>
>> >> >
>> >> > I get an Exception stating that Service1 can not initialized because
>> >> > it requires an instance of Service2 (and vice versa).
>> >> >
>> >> > >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Cheers,
>> >> hammett
>> >> http://hammett.castleproject.org/
>> >>
>> >>
>> >
>> >
>> > >
>> >
>>
>>
>>
>> --
>> Cheers,
>> hammett
>> http://hammett.castleproject.org/
>>
>>
>
>
> >
>



-- 
Cheers,
hammett
http://hammett.castleproject.org/

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