通用配置
通用配置可以保存网站全局使用的参数, 例如网站名称和默认语言等.
通用配置的数据结构
添加配置类型
配置类型需要添加GenericConfig
属性,
第一个参数是保存到数据库时使用的键名, CacheTime
可以指定缓存时间(秒).
缓存时间不会影响到网站部署到单个进程时的读取, 单个进程时读取配置总能读到最新的配置.
但会影响网站部署到多个进程或服务器时的读取, 缓存时间不应该指定太长.
添加配置类型的例子
添加src\Components\GenericConfigs\ExampleConfig.cs
[GenericConfig("ZKWeb.Example.ExampleConfig", CacheTime = 15)] public class ExampleConfig { public string ExampleName { get; set; } public int ExampleCount { get; set; } }
获取和保存配置
首次获取ExampleConfig
时会返回一个新的实例, GetData
函数不会返回null.
获取和保存配置的例子
添加src\Controllers\ConfigExampleController.cs
[ExportMany] public class ConfigExampleController : ControllerBase { [Action("example/read_config")] public IActionResult ReadConfig() { var configManager = Application.Ioc.Resolve<GenericConfigManager>(); var config = configManager.GetData<ExampleConfig>(); return new JsonResult(config); } [Action("example/write_config")] public string WriteConfig() { var configManager = Application.Ioc.Resolve<GenericConfigManager>(); var config = configManager.GetData<ExampleConfig>(); config.ExampleName = "updated"; config.ExampleCount++; configManager.PutData(config); return "success"; } }