ABP新增模块可能遇到的问题】的更多相关文章

当我们新增一个模块时: public class SSORedisModule: AbpModule { //public override void PreInitialize() //{ // base.PreInitialize(); //} public override void Initialize() { IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly()); } } 可能在模块那里会添加这…
ABP的反射 为什么先讲反射,因为ABP的模块管理基本就是对所有程序集进行遍历,再筛选出AbpModule的派生类,再按照以来关系顺序加载. ABP对反射的封装着重于程序集(Assembly)与类(Type).系统中分别定义了IAssemblyFinder与ITypeFinder两个接口,从命名上就可以看出这两个接口主要是用来进行程序集与类查找的. IAssemblyFinder只提供了一个方法 GetAllAssemblies(),从IAssemblyFinder的实现类CurrentDoma…
今天给大家演示下在线新增模块的功能,在线新增模块跟在vs中写model实体类区别不大,线上新增少了手动初始化的过程,新增后模块同样具备新增.修改.删除.查看.导入.导出.复制.批量编辑.回收站.草稿箱.权限配置.单据编码.附件 等通用功能 注意在启动解决方案的时候采用 Ctrl+F5(执行不调试)的方式,采用F5的时候会非常慢,中间如果要调试可以采用附加进程的方式 首先在模块管理列表中新增,以供应商信息模块为例,填写主信息, 填写供应商字段信息 保存后可以在列表上看到刚刚新增的供应商信息模块 选…
nginx在使用过程中,有时需要在不影响当前业务的情况下,进行升级或新增模块.nginx的升级有两种方法:1.半自动化升级:2.手动升级 不过都需要先查看安装的nginx版本和配置信息,然后前往官网下载所需的版本,并上传 [root@youxi1 ~]# nginx -V nginx version: nginx/1.14.1 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) configure arguments: --prefix=/u…
ABP的模块非常方便我们扩展自己的或使用ABP提供的模块功能,对于ABP自身提供的模块间的依赖关系想一探究竟,并且试着把不必要的模块拆掉,找到那部分核心模块.本次使用的是AspNetBoilerplate. 源码下载 从Github下载ABP源码后,进入src文件夹,提供的大部分模块都在此中.很多工具也经ABP封装,个人认为是方便了集成使用且融入到ABP这个框架. src文件夹中的类库有几种类型如.net standard(为了兼容.net framework)..net 5 ..net fra…
概述 上一章我们讲解了freeswitch的源码基本结构,以及如何新增一个插件式模块. freeswitch的架构非常适合这种业务开发模式,即以freeswitch的基本功能为开发平台,新增插件式模块来适配各种不同的业务场景,开发效率很高,学习成本相对较低. freeswitch的许多模块具有API,freeswitch可以通过命令行.脚本或事件套接字从远程计算机接收API命令. API命令可以做什么取决于每个单独的模块,常见的功能有数百个,包括返回状态信息(例如会议中有多少听众)或控制当前运行…
概述 freeswitch的架构由稳定的核心模块和大量的外围插件式模块组成.核心模块保持稳定,外围模块可以动态的加载/卸载,非常灵活方便. 外围模块通过核心提供的 Public API与核心进行通信,而核心则通过回调机制执行外围模块中的代码. FS Core 是FreeSWITCH 的核心,它包含了关键的数据结构和复杂的代码,但这些代码只出现在核心中,并保持了最大限度的重用.核心代码都经过精心的编码和严格的测试,最大限度地保持了系统整体的稳定. 核心代码保持了最高度的抽象,因而它可以调用不同功能…
Abp 审计模块源码解读 Abp 框架为我们自带了审计日志功能,审计日志可以方便地查看每次请求接口所耗的时间,能够帮助我们快速定位到某些性能有问题的接口.除此之外,审计日志信息还包含有每次调用接口时客户端请求的参数信息,客户端的 IP 与客户端使用的浏览器.有了这些数据之后,我们就可以很方便地复现接口产生 BUG 时的一些环境信息. 源码地址Abp版本:5.1.3 初探 我通过abp脚手架创建了一个Acme.BookStore项目在BookStoreWebModule类使用了app.UseAud…
文档目录 本节内容: 简介 模块定义 生命周期方法 PreInitialize(预初始化) Initialize(初始化) PostInitialize(提交初始化) Shutdown(关闭) 模块依赖 插件模块 Asp.net Core Asp.net Mvc,Web Api 插件中的控制器 附加程序集 自定义模块方法 模块配置 模块生命期 简介 ABP为创建模块及组织它们提供基础框架.一个模块可依赖于另一个模块.通常地,一个程序集做为一个模块.如果你的应用是多个程序集,建议为每个程序集定义一…
本篇作为我ABP介绍的第三篇文章,这次想讲下模块的,ABP文档已经有模块这方面的介绍,但是它只讲到如何使用模块,我想详细讲解下它模块的设计思路. ABP 框架提供了创建和组装模块的基础,一个模块能够依赖于另一个模块.在通常情况 下,一个程序集就可以看成是一个模块.在 ABP 框架中,一个模块通过一个类来定义,而这 个类要继承自 AbpModule. 其实它的设计思路很简单: 1.加载bin目录下的所有dll public class WebAssemblyFinder : IAssemblyFi…
简介 ASP.NET Boilerplate提供了构建模块的基础结构,并将它们组合在一起以创建应用程序. 模块可以依赖于另一个模块. 通常,一个程序集被视为一个模块. 如果创建具有多个程序集的应用程序,建议您为每个程序集创建一个模块定义. 模块系统目前专注于服务端,而不是客户端. 模块定义 定义一个派生自ABP包中的AbpModule的类作为一个模块.假设我们现在正在开发一个可以在不同应用程序中使用的Blog模块.最简单的模块定义如下: public class MyBlogApplicatio…
模块(菜单)的排序是每个系统都必须要有的功能,我们框架模块的排序在业务逻辑中已经体现. WinForm版本可以直接在界面上对模块进行排序以控制模块展示的顺序.Web版本在3.2版本中也新增了直接可以模块管理界面对模块进行排序的人性化操作,大大的方便了管理人员.模块的排序在模块管理主界面分页按钮的右侧如下图所示. 三个按钮功能分别为:上移.下移.确认修改 WebMVC部分,模块排序功能代码参考: /// <summary> /// 保存模块排序功能 /// </summary> //…
在上一篇介绍在StartUp类中的ConfigureService()中的AddAbp方法后我们再来重点说一说在Configure()方法中的UserAbp()方法,还是和前面的一样我们来通过代码来进行一步步分析. public static class AbpApplicationBuilderExtensions { public static void UseAbp(this IApplicationBuilder app) { app.UseAbp(null); } public sta…
注意 互相关联多使用接口注册,所以可以 根据需要替换. 始于 Startup.cs 中的  通过 AddApplication 扩展方法添加 Abp支持 1 services.AddApplication<AbpWebSiteWebModule>(options => { options.UseAutofac(); options.Configuration.UserSecretsAssembly = typeof(AbpWebSiteWebModule).Assembly; }); 内…
今天应开发的需求,需要在Nginx增加一个模块,并不能影响现有的业务,所以就必须要平滑升级Nginx,好了,不多说了 1:查看现有的nginx编译参数 /usr/local/nginx/sbin/nginx -V 2:按照安装nginx的方法进行安装,只需要到make,千万不要make install 3: 备份旧版本的nginx可执行文件(期间nginx不会停止服务) mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old…
开篇语 前几天发了一篇: <简年15: 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 > 后来又发了BUG修复的版本: 简年18: 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 Bug修复 本来以为这篇文章要沉底了.结果,一不小心貌似又出事了: 经过两天的同学聚会,我今天下午五点多到家,然后马不停蹄的开始进行了新模块的测试.这次有点不知道干嘛,但是突然想到要不要调用一下手机的硬件模块?最经典的自然就是照片了吗.微信的那个拍照功能看的我还很眼馋的!所以回来…
系统:Centos7.5 Nginx版本:1.12.2 今天给项目添加ssl证书时,发现nginx 竟然不支持ssl,经过查看,询问相关人员发现nginx编译的时候没有任何模块(历史原因).哎.... 以下 就记录下本人在线添加nginx对应模块的步骤: 1.下载对应nginx版本 wget http://nginx.org/download/nginx-1.12.2.tar.gz 2.解压编译 注意:只需要./configure 和make两个步骤,不要make install tar -xf…
tp5模块自动生成 1build.php配置要生成的目录 <?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]// +----------------------------------------------------------------------// | Copyright (c) 2006~201…
因为electron和node.js用的V8版本不一致,所以直接使用npm安装的模块可能在electron中不可用,特别是使用c.c++开发的模块.官方的说明:https://github.com/electron/electron/blob/master/docs-translations/zh-CN/tutorial/using-native-node-modules.md 下面以安装sqlite模块为例,介绍一下如何安装electron可用的模块 1.首先安装node-gyp模块,安装这个…
1.定义一个接口  里面是配置的属性等 public interface IMyConfiguration { int Id { get; set; } string Name { get; set; } } 2.实现接口 public class MyConfiguration: IMyConfiguration { public int Id { get; set; } public string Name { get; set; } } 3.定义一个静态配置类(单例)    IModule…
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之4.ABP模块系统 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 本文由东莞-天道提供翻译 ABP模块系统简介 ABP框架提供了创建和组装模块的基础,一个模块能够依…
AbpZeroDbContext:配置ABP.Zero中定义的entity的Dbset EntityFrameworkModelBuilderExtensions:给PrimitivePropertyConfiguration添加了扩展方法用于创建Index. AbpZeroDbModelBuilderExtensions:给DbModelBuilder添加了扩展方法用于表的重命名. AbpZeroEntityFrameworkModule:很明显Abp Zero模块中的EntityFramew…
返回ABP系列 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板. ABP的官方网站:http://www.aspnetboilerplate.com ABP官方文档:http://www.aspnetboilerplate.com/Pages/Documents Github上的开源项目:http…
ABP模块设计 返回ABP系列 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板. ABP的官方网站:http://www.aspnetboilerplate.com ABP官方文档:http://www.aspnetboilerplate.com/Pages/Documents Github上的开…
ABP模块系统 基于DDD的现代ASP.NET开发框架--ABP系列之4.ABP模块系统 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 本文由东莞-天道提供翻译 ABP模块系统简介 ABP框架提供了创建和组装模块的基础,一个模块能够依赖于另一个模块.…
从官方创建一份ASP.NET CORE 2.0的项目,并加入源码调试,可以看出如下图的加载顺序 1.ABP是通过什么样的机制加载的 既然ABP中模块需要添加DLL到引用中,又要加入DependsOn在类前面,前者已经在程序集中加入了,后天是做的什么工作? 现有Module A依赖Module B 假设Module B 和Module A都是静态类,可能就不需要进行物理关联了,DependsOn也是没有什么用的. 通过分析源码可以看出,整个ABP实际就是对依赖注册和控制反转的管理.ABP Modu…
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 ABP模块系统 说了这么久,还没有详细说到abp框架,abp其实基于DDD(领域驱动设计)原则的细看分层如下: 再看我们项目解决方案如下: JCmsErp.Application,应用层:进行展现层与领域层之间的协调,协调业务对象来执行特定的应用程序的任务.它不包含业务逻辑,主要包含一些模型,abp重要的数据传输DTO,包括数据库映射实体,前端视图模型转实体(Entity)对象,一个应用服务方法通常被认为是一个…
ABP框架 - 模块系统 ABP框架 - 启动配置 Module System Startup Configuration ABP源码分析三:ABP Module ABP源码分析四:Configuration 基于Abp模块化.插件化的设计,开发人员可以将自定义的功能以模块的形式集成到项目中.通常地,一个程序集作为一个模块.如果你的应用是多个程序集,建议为每个程序集定义一个模块. 模块的加载 模块和插件 插件: 模块及插件的加载路线 1. 扩展的HttpApplication对象(在Abp.We…
介绍 我们知道ABP中模块的配置都是通过模块的Configuration属性来设置的.例如在模块的生命周期方法中可以进行一系列的配置 审计 MQ Redis....也可以替换一些ABP默认配置 通常我们的用户模块(自定义模块)都会继承自AbpModule,它是ABP所有模块的基类.也是个抽象类. public abstract class AbpModule { protected internal IIocManager IocManager { get; internal set; } pr…
一般来说,一个系统或多或少都会涉及到一些系统参数或者用户信息的配置,而ABP框架也提供了一套配置信息的管理模块,ABP框架的配置信息,必须提前定义好配置的各项内容,然后才能在系统中初始化或者通过接口查询来使用,本篇随笔引入了另外一种配置信息的定义,实现更加简化的处理,本篇随笔着重介绍两者之间的差异和不同的地方. 1.ABP框架的配置管理 如下面是邮件配置信息,配置信息一般先继承自SettingProvider,初始化定义后,才能被系统所使用. EmailSettingProvider:继承自Se…