【发布时间】:2011-05-22 20:27:26
【问题描述】:
我想在 Spring.NET 中配置一个能够读取其他配置文件的对象。这些文件应该相对于 Spring.NET 配置文件(或 app.config,如果 Spring.NET 配置在那里)。
所以我需要一种方法来找出我的对象的对象定义来自哪个配置文件。或者如果没有配置文件(因为它是通过编程方式配置的)。
如果没有通用的解决方案(恐怕没有……)专门针对 XmlApplicationContext 的解决方案也可以。
到目前为止,我尝试的是从 IApplicationContextAware 派生,然后将应用程序上下文转换为 XmlApplicationContext。这包含属性 ConfigurationLocations。 但这不起作用,因为 ConfigurationLocations
- 受到保护,因此无法访问
- 是一组文件,所以如果有多个文件,我不知道我的对象来自哪个文件
- 特定于 XmlApplicationContext(如前所述:好的但不是最佳的)
- 我敢肯定,如果 config 在 app.config 中,这将不起作用。
我的问题有什么解决办法吗?
【问题讨论】:
-
您能解释一下为什么需要阅读这些配置文件吗?也许有其他解决方案。
-
我只能想到黑客......我会将文件名放在外部对象的 DI 配置中,这是 IMO 最干净的解决方案。
标签: c# spring.net