2009-03-09 1 views
0

У меня возникли проблемы с подключением событий для моих компонентов Castle.Windsor IoV. Несмотря на то, что я подтвердил методы и подписи для них, он выдает исключение с сообщением «Объект не соответствует типу цели».Пролемы, связанные с подпиской на события в Castle.Windsor Framework

Может ли кто-нибудь объяснить, какой именно объект его ожидает?

Моя проводка выглядит следующим образом:

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

Прежде чем кто спрашивает, да я включил:

<facilities> 

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

</facilities> 

ответ

0

Хорошо, проблема решена, по-видимому, в этом случае, порядок вопросов декларации. Alos, он не поддерживает «службы» и должен быть напрямую подключен к типу.

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