我有一个依赖依赖注入的网站,使用Castle Windsor。
我需要使用需要知道文件路径的组件。我想将配置文件中的路径指定为相对于网站根目录的虚拟路径,所以我会这样做:
<component id="configuration.documentLoader" type="SomeModule.XmlDocumentLoader, SomeModile">
<parameters>
<FileName>/documents/file.dat</FileName>
</parameters>
</component>
但是,我使用的组件期望路径是完整的物理路径,因此上面的示例将失败。在配置文件中写入完整路径不是一种选择。
你会如何解决这个问题?
我正在考虑添加另一个可以进行翻译的组件,并让我当前的组件依赖于该组件。这有点矫枉过正吗?有没有更优雅的方法来解决这个问题而不改变现有的组件?
答案 0 :(得分:2)
IContributeComponentModelConstruction
您可以使用它将相对路径切换为绝对路径。