【问题标题】:ASP.NET plug-in architecture, settings problemASP.NET插件架构,设置问题
【发布时间】:2011-03-03 04:42:02
【问题描述】:

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

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

【问题讨论】:

    标签: asp.net architecture configuration settings plugins


    【解决方案1】:

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

    http://mef.codeplex.com

    【讨论】:

      【解决方案2】:

      恕我直言,这是可能的,但不是开箱即用的。

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

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

      【讨论】:

      • 能否给我一个示例,让我知道是否支持在更改编辑配置文件时重新加载配置(类似于 FileSystemWatcher)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-13
      • 2011-04-13
      • 2010-09-25
      • 2018-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多