目前我有一个网络服务,可以加载位于 / plugins 文件夹中的所有插件。现在的问题是每个插件都有自己的配置数据集,目前已经硬编码并隔离到一个类中,但是我想把它移到myplugin.config文件中。
通常,Web服务会加载自己的web.config文件,但我不确定是否可以让插件使用自己的插件。好像你想象主Web服务使用NHibernate并使用一些任意数据做CRUD,但其中一个插件使用MongoDB添加一个缓存层并有自己的连接字符串细节。因此,MVC Web服务不应该真正关心这些设置,它应该是需要读取它们的MyPlugin。
有没有办法做到这一点?因为我只想摆脱代码中根深蒂固的连接字符串。
答案 0 :(得分:1)
我现在已经对这个问题进行了排序,一旦我发现了如何加载配置文件,我就能够完成这项工作。
我确保我的配置文件是在通过MEF加载程序集后命名的,所以如果我的程序集是:
您将创建一个名为:
的配置文件var config = ConfigurationManager.OpenExeConfiguration("some-custom-plugin.dll");
var someValue = config.AppSettings["some-app-setting"];
所以希望这可以帮助别人,因为我花了一段时间才找到这个简单的东西。