我刚刚开始使用 Castle Windsor 的 Fluent 注册,并且无法弄清楚如何在注册时引用我在 XML 配置文件的属性部分中定义的属性。所以我有这个代码来注册一个组件。
RegisterComponent(componentId, Component.For<ConnectionConfig>()
.ImplementedBy(typeof(ConnectionConfig))
.Named(componentId)
.LifeStyle.Singleton
.Parameters(
Parameter.ForKey("ConnectionId").Eq(connectionId),
Parameter.ForKey("CommandTimeoutSeconds").Eq("#{ConnectionInfo.DefaultTimeout}")));
#{ConnectionInfo.DefaultTimeout} 是我在 XML 配置中定义的属性,该属性在 Fluent 注册之前加载到容器中,但这不起作用,在此代码中,传递给 Eq() 的参数被视为文字(尽管这适用于其他组件,即 ${My.Component} 会起作用)
在通过新的 Fluent API 注册组件时如何从配置文件中引用属性有什么想法吗?
谢谢