【问题标题】:ASP MVC & MEF with plugin config files带有插件配置文件的 ASP MVC 和 MEF
【发布时间】:2025-12-16 23:40:01
【问题描述】:

目前我有一个网络服务,它加载位于其 /plugins 文件夹中的所有插件。现在的问题是每个插件都有自己的一组配置数据,目前是硬编码并隔离到一个类中,但我想把它移到一个 myplugin.config 文件中。

Web 服务通常会加载自己的 web.config 文件,但我不确定是否可以让插件使用它们自己的。就好像您想象主 Web 服务使用 NHibernate 并使用一些任意数据执行 CRUD 一样,但是其中一个插件使用 MongoDB 添加了一个缓存层,并具有自己的连接字符串详细信息。所以 MVC Web 服务不应该真正关心这些设置,它应该只是需要读取它们的 MyPlugin。

有没有办法做到这一点?因为我只是想摆脱在代码中根深蒂固的连接字符串。

【问题讨论】:

    标签: asp.net-mvc web-config connection-string mef


    【解决方案1】:

    我现在已经解决了这个问题,一旦我发现了如何加载配置文件,我就可以不用做太多工作。

    我确保我的配置文件是以通过 MEF 加载的程序集命名的,所以如果我的程序集是:

    • some-custom-plugin.dll

    您将创建一个名为:

    • some-custom-plugin.dll.config

    然后你会打电话:

    var config = ConfigurationManager.OpenExeConfiguration("some-custom-plugin.dll");
    var someValue = config.AppSettings["some-app-setting"];
    

    所以希望这对某人有所帮助,因为我花了一段时间才找到这个简单的东西。

    【讨论】: