首页 > 代码库 > Catel帮助手册-Catel.Core:(3)配置说明
Catel帮助手册-Catel.Core:(3)配置说明
Catel可以让你更方便的配置所有的平台
下面的表格解释了每个平台使用何种技术来获取和存储配置值。
平台 | 技术 |
.NET | ConfigurationManager.AppSettings |
Sliverlight | IsolatedStorageSettings.ApplicationSettings |
WinRT | ApplicationData.Current.LocalSettings |
PCL | 不支持 |
1 从配置中获取值
使用如下代码从配置中获取值:
var configurationService = new ConfigurationService();var mySetting = configurationService.GetValue<int>("mySetting", 42);
注意:
It‘s best to retrieve the service from the dependency resolver or let it be injected into the classes using it
2 设置值到配置项目中
使用如下的代码存储值到配置中:
var configurationService = new ConfigurationService();configurationService.SetValue("mySetting", 42);
注意:
It‘s best to retrieve the service from the dependency resolver or let it be injected into the classes using it
3 自定义值的存储方式
ConfigurationService是用于扩展的,尽管他默认的是.NET的本地存储系统,它很容易的去创建自定义服务,下面是一个创建自定义服务来存储或者读取数据库的例子。
public class DbConfigurationService : ConfigurationService{ protected override bool ValueExists(string key) { using (var context = new ConfigurationContext()) { return (from config in context.Configurations where config.Key == key select config).Any(); } } protected override string GetValueFromStore(string key) { using (var context = new ConfigurationContext()) { return (from config in context.Configurations where config.Key == key select config.Value).First(); } } protected override void SetValueToStore(string key, string value) { using (var context = new ConfigurationContext()) { var configuration (from config in context.Configurations where config.Key == key select config).FirstOrDefault(); if (configuration == null) { configuration = context.CreateObject<Configuration>(); configuration.Key = key; } configuration.Value = value; context.SaveChanges(); } }}
不要忘记在ServiceLocator中注册自定义的ConfigurationService.
Catel帮助手册-Catel.Core:(3)配置说明
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。