2009-05-12 1 views
2

У меня есть сайт, который полагается на инъекцию зависимости, используя Castle Windsor.Впрыскивание зависимостей и физические пути в среде ASP.NET - howto?

Мне нужно использовать компонент, который должен знать путь к файлу. Я хотел бы указать путь в файле конфигурации как виртуальный путь относительно корневого каталога веб-сайта, так что я хотел бы сделать это:

<component id="configuration.documentLoader" type="SomeModule.XmlDocumentLoader, SomeModile"> 
    <parameters> 
     <FileName>/documents/file.dat</FileName> 
    </parameters> 
</component> 

Однако компонент я использую ожидает, что путь будет в полной мере физический путь, поэтому приведенный выше пример потерпит неудачу. Написание полного пути в файле конфигурации не является вариантом.

Как бы вы это разрешили?

Я думал о добавлении другого компонента, который будет выполнять перевод, и мой текущий компонент полагается на этот компонент. Это избыток? Есть ли более элегантный способ решить эту проблему без изменения уже существующих компонентов?

ответ

2
IContributeComponentModelConstruction 

Вы можете использовать это для переключения относительного пути к абсолютному.