X-Admin&ABP框架开发-数据字典】的更多相关文章

在业务型的系统开发中,我们需要维护各种个样的类型,比如客户类型.客户行业.商品类型等等,这些类型往往信息量不多,并且相似度极高,如果采用一类型一表去设计,将会造成极大的工作量,通过将这部分类型的信息进行抽象,利用字段去存储类型区分,共用表结构,来达到兼容各种类型的功能,也就是设计一个数据字典,而对于一个具体类型来讲,是有多个选项的,比如性别,有男女,行业有工农商等,对于这部分选项,可抽象为某个类型下的字典项,即数据字典项. 一.数据字典设计思路 1.从客户类型.商品类型.行业类型来抽象考虑,首先…
业务型网站使用过程中,消息通知是一个不可或缺的功能,采用站内通知.短信通知.邮件通知.微信通知等等各种方式都有,ABP框架对这部分工作已经封装的很好了,站在巨人的肩膀上,一览全貌,带来的就是心情舒畅. ABP官网地址:https://aspnetboilerplate.com/ 一.明确概念 一次完整的消息发送/接收过程中,会存在几个必要的点,也正如同现实生活中的场景,有人发送,有人接收,发送的消息本身也有类型. 1.消息类型定义 在ABP中已经提供了消息类型定义的相关类,但是需要我们去实现,在…
网站正常运行中有时出现异常在所难免,查看系统运行日志分析问题并能够根据错误信息快速解决问题尤为重要,ABP对于系统运行日志这块已经做了很好的处理,默认采用的Log4Net已经足够满足开发过程中的需要了(当然有需要的话也可以更换为其它日志组件). ABP官网地址:https://aspnetboilerplate.com/ 一.日志文件 ABP框架默认使用了Log4Net日志组件,日志记录在txt文件中,也可以替换成其它日志组件诸如Nlog,方便将日志文件信息直接记录到数据库中,具体情形使用具体组…
多租户系统中,针对于不同租户开放不同功能,或是按照不同功能进行收费管理,需要从宿主本身去管理租户的版本信息,如同酒店人员对不同房间收取不同费用,依据房间内部设施,房间大小等设置不同收费标准.Abp系统中默认是多租户的,并且在Zero模块中实现了版本管理功能. 演示地址:http://119.3.138.127/,更改Account/HostLogin进入宿主管理 一.设计前提 基于Abp进行了相关限制,我将多租户变成了单租户,不允许添加新的租户,由于日常接触中,发现除了云平台这种SaaS需要多租…
在日常开发中,有时会遇到一些相似的代码,甚至是只要CV一次,改几个名称,就可以实现功能了,而且总归起来,都可以由一些公用的页面更改而来,因此,结合我日常开发中使用到的页面,封装一个适合自己的代码生成器,仅处于入门阶段,包括生成的代码结构都仅是把框架展示出来,内部详细暂时没得,针对于应用服务中的接口和实现,相关Dto,MVC中的控制器.视图及视图模型进行了模板制作及生成相关的文件. 一.设计思路 方案一:开始想到的是,搞个控制台,然后给一个.cs文件,然后控制台去解析其中的命名空间,类名,属性,再…
在网站开发中,设置是不可缺少的一环,如用户设置.系统设置.甚至是租户设置等.ABP对于设置的管理已经做了很好的处理,我们可以借助巨人的力量来完成我们的冒险. ABP官网地址:https://aspnetboilerplate.com/ 一.设置的层级划分 ABP中提供了三种类型的设置,用户级别.应用级别.租户级别,针对于不同级别有着不同的侧重点,比如用户级别,针对于用户的一些设置,如主题设置,接收通知设置等:针对应用级别,该级别也能在用户层级上进行影响,好比如设置统一的主题皮肤,而它主要体现在整…
在业务系统需求规划过程中,通常对于诸如组织机构.用户和角色等这种基础功能,通常是将这部分功能规划到通用子域中,这也说明了,对于这部分功能来讲,是系统的基石,整个业务体系是建立于这部分基石之上的,当然,还有诸如多语言.设置管理.认证和授权等.对于这部分功能,ABP中存在这些概念,并且通过Module Zero模块完成了这些概念. 一.角色访问控制之RBAC RBAC:Role Based Access Control,基于角色的访问控制,这在目前大多数软件中来讲已经算得上是普遍应用了,最常见的结构…
软件即服务概念的推动,定制化到通用化的发展,用一套代码完成适应不同企业的需求,利用多租户技术可以去做到这一点.ABP里提供了多租户这一概念并且也在Zero模块中实现了这一概念. 一.多租户的概念 单部署-单数据库:部署应用程序的单个实例和单个数据库.在每个数据表(关系型数据库)里用一个TenantId(租户Id或类似的如企业Id)字段来隔离区分每个租户数据. 单部署-多数据库:部署应用的单一实例,用一个主(宿主)数据库存储租户元数据(像租户名和子域),并为每个租户建立并维护一个隔离的数据库.操作…
在前面随笔介绍的<ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理>里面,介绍了如何改进和完善审计日志和登录日志的应用服务端和Winform客户端,由于篇幅限制,没有进一步详细介绍Winform界面的开发过程,本篇随笔介绍这部分内容,并进一步扩展Winform界面的各种情况处理,力求让它进入一个新的开发里程碑. 1.回顾审计日志和登陆日志管理界面 前面介绍了如何扩展审计日志应用服务层(Application Service层)和ApiCaller层(API客户端调用封装层)…
缓存在一个大型一点的系统里面是必然会涉及到的,合理的使用缓存能够给我们的系统带来更高的响应速度.由于数据提供服务涉及到数据库的相关操作,如果客户端的并发数量超过一定的数量,那么数据库的请求处理则以爆发式增长,如果数据库服务器无法快速处理这些并发请求,那么将会增加客户端的请求时间,严重者可能导致数据库服务或者应用服务直接瘫痪.缓存方案就是为这个而诞生,随着缓存的引入,可以把数据库的IO耗时操作,转换为内存数据的快速响应操作,或者把整个页面缓存到缓存系统里面.本篇随笔主要介绍利用ABP框架的支持实现…