ASP .NET环境中的依赖注入和物理路径 - howto?

时间:2009-05-12 15:14:56

标签: c# asp.net dependency-injection castle-windsor

我有一个依赖依赖注入的网站,使用Castle Windsor。

我需要使用需要知道文件路径的组件。我想将配置文件中的路径指定为相对于网站根目录的虚拟路径,所以我会这样做:

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

但是,我使用的组件期望路径是完整的物理路径,因此上面的示例将失败。在配置文件中写入完整路径不是一种选择。

你会如何解决这个问题?

我正在考虑添加另一个可以进行翻译的组件,并让我当前的组件依赖于该组件。这有点矫枉过正吗?有没有更优雅的方法来解决这个问题而不改变现有的组件?

1 个答案:

答案 0 :(得分:2)

IContributeComponentModelConstruction

您可以使用它将相对路径切换为绝对路径。