以编程方式为多个数据库配置ActiveRecordFacility
问题描述:
我正尝试构建使用插件体系结构的小应用程序(ASP.NET MVC)。随着城堡ActiveRecord集成设施。我希望让每个插件配置自己的ActiveRecord行为。像数据库连接字符串,代理等。 但是,我找不到使用web.config设置多个配置的方法。这个想法是通过编程来实现的。以编程方式为多个数据库配置ActiveRecordFacility
我的目标是为这个系统中的每个插件,如果它定义了自己的ActiveRecord设置,主应用程序可以在ActiveRecordFacility旁边设置这些行为。
有人做这样的事情吗?
PS:不好意思,语法错误的......谷歌翻译...,P
答
您可以设置以编程方式使用InPlaceConfigurationSource
(大量的实例左右),ActiveRecord的配置,然后初始化的ActiveRecord(在自己的代码后),用skipARInitialization标志调用ActiveRecordFacility。例如:
container.AddFacility("ar", new ActiveRecordFacility(true));
这告诉设施不要尝试初始化ActiveRecord,因此它会采集现有的配置。
呃...几乎...我想要的是让插件(也许两个或更多)配置其自己的ActiveRecord行为...比如,BlogPlugin在数据库X中写入,而MailingPlugin在数据库Y中写入...我在LosTechies上找到了一个例子... http://www.lostechies.com/blogs/rssvihla/archive/2009/06/03/castle-activerecord-and-registering-classes-at-runtime.aspx ... = /...i会先尝试这个,然后在这里发布答案。 TKS! – marcoaoteixeira 2010-12-16 17:58:54
@marcoaoteixeira:是的,该文章使用InPlaceConfigurationSource,正如我所说的。 – 2010-12-16 18:11:58