我一直在努力解決這個問題,雖然一些優雅的將是首選任何舊的黑客會在這一點上做的:)城堡溫莎 - 分期與生產的connectionString參數分量
我有一個存儲庫是註冊類似:
<castle>
<properties>
<myConnStr>Data Source=COMPUTERNAME\SQL2008;Initial Catalog=MyDB;Persist Security Info=True;User ID=username;Password=password</myConnStr>
</properties>
<components>
<component id="MyRepository" service="DomainModel.Abstract.IMyRepository, DomainModel" type="DomainModel.Concrete.MyRepository, DomainModel" lifestyle="PerWebRequest">
<parameters>
<connectionString>#{myConnStr}</connectionString>
</parameters>
</component>
</components>
我試圖建立我的配置文件,這樣就不必修改myConnStr財產部分的各種部署選項。這很好(甚至理想),如果我只能在配置第一次加載時建立connectionString一次,但在設置我的容器時我無法弄清楚如何設置此值。
如果我不使用castle windsor,我只需要定義多個連接字符串,如「connectionStringStaging」,「connectionStringProduction」,並根據我的環境(計算機名稱或URL)通過代碼選擇適當的連接字符串。我怎樣才能做到這樣的城堡溫莎物業?修改組件的「參數」而不是「屬性」也是可以接受的。
問題添加到Windsor常見問題中:http://using.castleproject.org/display/IoC/FAQ – 2010-01-24 17:03:05