Замок Виндзор, МОК и порядок появления в файле конфигурации - PullRequest
1 голос
/ 18 декабря 2008

Я новичок в замке Виндзор и запутался по поводу порядка в файле конфигурации. Это взято из примера GettingStarted1. Класс HttpServiceWatcher принимает в своем конструкторе разработчик IFailureNotifier. Однако, независимо от того, как я заказываю два компонента, которые реализуют этот интерфейс - AlarmFailureNotifier и EmailFailureNotifier - я всегда получаю EmailFailureNotifier. Я знаю, что вы можете переопределить то, что выбрано, используя параметры и ссылку "поиск службы", но я подумал, что порядок объявления используется, когда другие механизмы не используются.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="castle"
             type="Castle.Windsor.Configuration.AppDomain.CastleSectionHandler,Castle.Windsor" />
  </configSections>

  <castle>
    <components>

      <component
        id="httpservicewatcher"
        type="GettingStartedPart1.HttpServiceWatcher, GettingStartedPart1">
      </component>

      <component
        id="alarm.notifier"
        service="GettingStartedPart1.IFailureNotifier, GettingStartedPart1"
        type="GettingStartedPart1.AlarmFailureNotifier, GettingStartedPart1" />

      <component
        id="email.notifier"
        service="GettingStartedPart1.IFailureNotifier, GettingStartedPart1"
        type="GettingStartedPart1.EmailFailureNotifier, GettingStartedPart1" />

      <component
        id="form.component"
        type="GettingStartedPart1.Form1,GettingStartedPart1" />

    </components>

  </castle>
</configuration>

Ответы [ 2 ]

1 голос
/ 24 января 2010

Это было решено с помощью Замка 2.0 (который вышел в конце прошлого года)

Последняя версия Castle 2.1.1:

http://sourceforge.net/projects/castleproject/files/InversionOfControl/2.1/Castle-Windsor-2.1.1.zip/download

Релизы Castle всегда немного сложно найти (они должны обновить свой сайт) Я всегда ссылаюсь на список проектов:

http://www.castleproject.org/castle/projects.html

Вы хотите: MicroKernal / Windsor

0 голосов
/ 18 декабря 2008

Я не знаю, какую версию вы используете, но я считаю, что это было ошибкой некоторое время назад, и она была исправлена ​​в версии сервера сборки. Попробуйте и посмотрите, что получится.

Кроме того, вы можете использовать компоненты по умолчанию, такие как: Castle Windsor и компоненты по умолчанию

...