我想将asp.net应用程序的业务层(BLL)划分为多个组件。每个组件都是一个.NET类库,它被编译为独立的DLL。这些组件应该有自己的配置文件。例如,“MyNameSpace.Users.dll”包含有关网站用户的类,并且有一个密码策略来检查密码长度是否至少为x个字符。当网站管理员编辑此DLL的配置文件并将x设置为y时,组件(DLL)将来应使用新值(y)并强制密码至少为y个字符。我希望每个组件作为一个项目并单独编译它们(而不是将所有项目放在Visual Studio的解决方案中),并将这些库的DLL放入我的ASP.NET应用程序的“Bin”文件夹中。
有可能吗? 我应该把这些配置文件放在哪里?
答案 0 :(得分:1)
.NET 4.0中发布的托管扩展性框架(MEF)
答案 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时重新加载值。