abp项目怎样发布到服务器,ABP框架学习之—— 设置管理
前言
个人理解
abp这个设置管理时基于服务器缓存实现,使用得时string类型得键值对(建值都是string类型)。通过设置器(SettingProvider)注入,在站点启动时读取配置文件或者数据库或者自己生成一个(下面例子便是自己生成,服务器重启设置重置)。
这样的好处是不需要频繁的读取数据库或者本地文件,想想缓存的好处,同理可得。而且在此基础上abp还封装了些方法,使用方便。就是个人觉得配置起来有点麻烦。因为的键值对,所有建不能有重复,常常使用const 常量来定义建。
使用
提供设置
public class MySettingProvider : SettingProvider
{
public override IEnumerable GetSettingDefinitions(SettingDefinitionProviderContext context)
{
return new[]
{
new SettingDefinition(
"SmtpServerAddress",
"127.0.0.1"
),
new SettingDefinition(
"PassiveUsersCanNotLogin",
"true",
scopes: SettingScopes.Application | SettingScopes.Tenant
),
new SettingDefinition(
"SiteColorPreference",
"red",
scopes: SettingScopes.User,
isVisibleToClients: true
)
};
}
}
注入设置
在CoreModule中得PreInitiali方法里注入,一般需要注入得内容都在这里注入。
Configuration.Settings.Providers.Add();
服务端获取设置
SettingManager 在AbpServiceBase基类定义了得
var value1 = await SettingManager.GetSettingValueAsync("SmtpServerAddress");
客户端获取
如果SettingDefinition 中 IsVisibleToClients 设置为 true,就可以在客户端使用 javascript得到它的当前值。abp.setting 命名空间定义所需的函数和对象。
var currentColor = abp.setting.get("SmtpServerAddress");
修改设置
SettingManager 在AbpServiceBase基类定义了得
await SettingManager.ChangeSettingForApplicationAsync("SmtpServerAddress", "192.168.0.1");
小结
上面例子和官网提供得例子差异不大,省略了些东西。
如何读取本地配置文件,修改时并持续化到本地文件
abp的设置管理,是将配置放到了数据库中,不用手动创建记录,如上配置后,使用过程中自动创建。看表结构明白,可支持针对用户或者租户单独做配置。不支持文件类型的配置。
image.png
image.png
如何读取数据库数据,修改时持续化的数据库
同上,不支持自定义表实现的配置。
既然value字段是string类型,我们当然也可以将对象序列化成string存起来。使用时再序列化成对象。
abp项目怎样发布到服务器,ABP框架学习之—— 设置管理相关推荐
- abp项目怎样发布到服务器,ABP框架的基础配置及依赖注入讲解
配置ABP 配置是通过在自己模块的PreInitialize方法中来实现的 代码示例如下: ? 和orchard类似,abp框架一开始就被设计成模块化的,不同的模块可以通过abp框架来进行配置.举个例 ...
- abp项目怎样发布到服务器,ABP 网站发布
报错1:HTTP Error 503. The service is unavailable. 解决:IIS->应用程序池->高级设置->进程模型->标识.将内置账户更改为Ne ...
- Vue - vue+webpack创建的项目打包发布至服务器,页面空白及背景图片不显示问题解决
vue+webpack创建的项目打包发布至服务器,页面空白及背景图片不显示问题解决 一. 页面显示空白 二. 背景图片不显示 一. 页面显示空白 解决方法: config > index.js ...
- idea打包项目并发布到服务器上
1.通过idea将完整的项目打包成war包 2.将war包放到tomcat的webapps目录下 3.访问服务器项目测试是否发布成功
- 【abp项目发布到iis(初学者)】
abp项目发布到iis(vs2022) 右击发布的项目–发布–选择要发布的目标文件夹–发布 发布成功–打开iis 右击网站–添加网站 网站名称最好填项目名称,应用程序池注意不可多个使用,物理路径填前面 ...
- 使用 docker 编译运行 abp 项目
在前面的两篇文章中,介绍了如何在华为鲲鹏架构及其Euler系统上运行dotnet core, 使用docker运行了默认的mvc模板项目,这篇文章继续介绍在docker中运行更复杂的dotnet co ...
- abp框架java,【Net】ABP框架学习之正面硬钢
前言 本文介绍另一种学习ABP框架的方法,该方法为正面硬钢学习法... 我们不去官网下载模板,直接引用DLL,直接使用. WebApi项目创建 首先创建一个WebApi项目,结构如下. 然后Nuget ...
- 网络与服务器编程框架库 acl_3.0.13 发布
2019独角兽企业重金招聘Python工程师标准>>> acl 3.0.13 版本 (项目主页:https://sourceforge.net/projects/acl/,技术文章主 ...
- 网络与服务器编程框架库 acl_3.0.12 发布
2019独角兽企业重金招聘Python工程师标准>>> acl 3.0.12 版本 (项目主页:https://sourceforge.net/projects/acl/, 技术文 ...
最新文章
- C++:报错解决合集
- mysql从另一张获取数据的方法
- Nhibernate常见的错误
- 删除mongodb库
- oralce 11g data guard
- webcomponents安装了没有用_Web Components 入门实例教程
- ug弹簧可变性装配_弹簧可配置魔术
- Java抽象– ULTIMATE教程(PDF下载)
- DataWorks百问百答01:数据同步该用什么资源组
- Java字符串与日期互转
- Web网站压力测试工具
- 秒杀/抢购系统设计优化
- 三菱plc pwm指令_三菱PLC必会编程指令汇总,收藏这些就够了!
- 智慧城市是什么?为什么要建智慧城市?
- MFC 通用对话框之字体对话框
- html完全自学手册,完全自学手册PHP+Ajax(PPT) 第3章 HTML基础.ppt
- 5.服务网关:GateWay
- 计算机键盘上的基准键是哪两个键,键盘上的基准键分别是什么?
- $Linux vi/vim编辑器常用命令与用法总结
- python randint什么分布_python随机数分布random均匀分布实例
热门文章
- 三一集团数字化转型探秘:以DevOps平台构建敏捷研发体系
- 招聘大师v6.7.2
- 那些让你惊掉下巴到肚皮上的python冷知识(一)
- esp8266作为wifi与手机互传数据
- Can't bind to local 8700 for debugger报错和解决
- 计算机毕业设计ssm校内图书馆智能管理系统
- 【3D动态思维导图制作软件】万彩脑图大师教程 | 给思维导图设置密码
- Vue 3.3 正式发布 [浪客剑心]
- css 浮动在最上层_css样式如何控制div到最顶层
- 广州非按揭购房提取住房公积金攻略