Configuration

Amos Xia, 2018-04-30 13:28:12

理解ServiceStack中的Configuration的设计

特点

  • 能够加载不同source的配置, 以key-value进行管理
  • 能在不同的环境中使用正确的配置
  • 能够读取的json格式配置映射到POCO的配置类, 解耦不同的配置类
  • 支持配置的读写
  • 当配置发生改变时, 无法热更新

示例

IAppSettings AppSettings = new MultiAppSettings(
    new EnvironmentVariableSettings(),
    new TextFileSettings("~/appsettings.txt".MapHostAbsolutePath()),
    new AppSettings()
);

设计

ServiceStack Configuration

关键的类

  • IAppSettings, 定义配置管理类的基本操作
  • AppSettingsBase, 配置管理类的基本实现, 通过ISettings/ISettingsWriter来读写配置
  • ISettings, 负责操作source, 只读, 从source读取配置
  • ISettingsWriter, 集成ISettings, 可读写, 对配置进行读写
  • ParsingStrategyDelegate, 对读取的配置进行处理

知识共享许可协议
本作品采用知识共享署名 4.0 国际许可协议进行许可。


Copyright© 2018 s2u2m