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/

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