2009-03-09 5 views
0

J'ai des difficultés à câbler les événements de mes composants Castle.Windsor IoV. Même si j'en ai confirmé les méthodes et les signatures, une exception est générée avec le message "L'objet ne correspond pas au type de cible".Prolems Câblage des abonnés à l'événement dans Castle.Windsor Framework

Quelqu'un peut-il s'il vous plaît expliquer quel objet exactement son attente?

Mon câblage ressemble:

<component 
    id="mailManager" 
    service="Pop3Dispatcher.Mail.IMailManager, Pop3Dispatcher" 
    type="Pop3Dispatcher.Mail.DefaultMailManagerImpl, Pop3Dispatcher" 
    startable="true" 
    loadCompletedMethod="Init"> 
    <subscribers> 
     <subscriber id="emailFilterImpl" event="MessageRecieved" handler="OnReceivedMessage"/> 
    </subscribers> 
    </component> 

    <component 
    id="emailFilterImpl" 
    service="Pop3Dispatcher.Filters.IFilter, Pop3Dispatcher" 
    type="Pop3Dispatcher.Filters.EmailFilterImpl, Pop3Dispatcher" 
    startable="true"> 
    </component> 

Avant que quelqu'un demande, oui, je l'ai inclus:

<facilities> 

    <facility 
     id="event.wiring" 
     type="Castle.Facilities.EventWiring.EventWiringFacility, Castle.MicroKernel" /> 

</facilities> 

Répondre

0

Ok, le problème est résolu, apparemment dans ce cas, l'ordre des questions de déclaration. Alos, il ne supporte pas les "services" et doit être abonné directement au type.

<component 
    id="emailFilterImpl" 
    type="Pop3Dispatcher.Filters.EmailFilterImpl, Pop3Dispatcher" 
    startable="true"> 
    </component> 

    <component 
    id="mailManager" 
    type="Pop3Dispatcher.Mail.DefaultMailManagerImpl, Pop3Dispatcher" 
    startable="true" 
    loadCompletedMethod="Init"> 
    <subscribers> 
     <subscriber id="emailFilterImpl" event="MessageRecieved" handler="OnReceivedMessage"/> 
    </subscribers> 
    </component> 
Questions connexes