ASP.NET插件架构,设置问题

时间:2010-06-13 10:54:22

标签: asp.net architecture configuration settings plugins

我想将asp.net应用程序的业务层(BLL)划分为多个组件。每个组件都是一个.NET类库,它被编译为独立的DLL。这些组件应该有自己的配置文件。例如,“MyNameSpace.Users.dll”包含有关网站用户的类,并且有一个密码策略来检查密码长度是否至少为x个字符。当网站管理员编辑此DLL的配置文件并将x设置为y时,组件(DLL)将来应使用新值(y)并强制密码至少为y个字符。我希望每个组件作为一个项目并单独编译它们(而不是将所有项目放在Visual Studio的解决方案中),并将这些库的DLL放入我的ASP.NET应用程序的“Bin”文件夹中。

有可能吗? 我应该把这些配置文件放在哪里?

2 个答案:

答案 0 :(得分:1)

.NET 4.0中发布的托管扩展性框架(MEF)

http://mef.codeplex.com

答案 1 :(得分:0)

imho这是可能的,但不是开箱即用。

ASP.NET通过defautl仅使用web根目录中的一个web.config(以及层次结构中较高的pproriate机器.config文件)。但是,您可以为每个从单独的.config文件读取值的dll创建自定义设置提供程序。 见http://msdn.microsoft.com/en-us/library/ms228060.aspx 这样,您可以创建不同的SettingsManager,为应用程序的各个部分提供设置,并从文件中读取信息。

另外,您可以使用FilesystemWatcher在编辑其他.configs时重新加载值。