我正在使用
spring.net IOC依赖注入为我的asp.net Web应用程序设置我的xml配置文件.我在web.config中引用了我的每个配置文件. spring.net配置文件(settings.xml)中的设置示例如下:
<object id="obj1" type="NS.Common.Cache.Class,NS.Common" singleton="true" init-method="Initialize" destroy-method="dispose"> <property name="Name" value="My Name" /> </object>
一切正常.
现在我在多个环境中安装我的Web应用程序,所以我正在为环境创建一个spring.net配置文件,例如. dev,qa,prod.
因此,在安装应用程序时,web.config中会引用适用的环境spring文件.这是自动安装程序的一部分.
在qa环境文件中,我想将“obj1”上面的对象重新定义为:
<object id="obj1" type="NS.Common.Cache.Class2,NS.Common" singleton="true" init-method="Initialize" destroy-method="dispose"> <property name="Name" value="My New Name" /> </object>
但是,由于这是自动的(添加对环境文件的引用),因此不会更改settings.xml文件.
现在引用带有相同id的已定义对象的2个文件 – 这会导致严重的问题,因为会发生运行时错误.
是否有任何方法可以包含在qa.xml和flag等中以突出显示此对象定义覆盖具有相同对象ID的任何其他xml文件中的任何其他已定义对象?