使用ABP框架踩过的坑系列5】的更多相关文章

ABP框架踩过的坑系列6 应是无事.齐侯方才的确到了吴纠庭院https://www.mixcloud.com/ltTFvU888smi8jS/几日行军劳顿其实齐侯本应该睡下了https://www.mixcloud.com/1wAYGX6rGRqmpY1/所以齐侯才留了他一命https://www.mixcloud.com/8lY8rP338383lHp/虽然这刺不甚锋利但是平白无故总是遭刺https://www.mixcloud.com/2994cv798L2RW71/也难免不甚痛快.齐侯没有…
    企业级(例如ERP)应用, 一遍一遍的在重复:认证.验证.异常处理.日志.国际化和本地化.数据库连接管理.配置管理. 审计记录等,同时.NET有很多最佳实践:分层.模块化.DDD领域驱动.DI依赖倒置等,采用ABP就是基于这些惯例,来避免重复劳动,并且提供高质量.高效率的.NET开发.对于没有专职架构师的小型公司来说,选择ABP,可能是比较好的方案.万事都有利有弊,使用框架带来好处的同时,也有诸如学习曲线.踩坑等问题,本人使用ABP有3年多时间,实践了几个项目,踩过的坑有很多:想通过这个…
数据库连接和事务管理,是数据库应用中的最重要概念之一.做过的人,都会头疼:何时Open一个连接?何时Start一个事务?何时Dispose这个连接?... ABP框架试图用一个叫做UnitOfWork的模型来解决这些.实际开发中,引入UnitOfWork,同时也会带来一些坑. [UnitOfWork] public void SaveFoodMaterials( FoodMaterialItem food,FoodMaterialCategory cat) { FoodMaterial fm =…
DDD领域驱动开发,实际是为复杂的业务场景而生的,为了让开发人员专注于业务,而操作系统.数据库.网络之类的技术细节,必须要持久透明化:实际就是数据库系统DBMS的ORM抽象,目标就是业务不需要考虑数据是如何存储的,业务是独立于DBMS, 通俗讲业务系统不依赖某个DBMS实现,可以通过配置,灵活动态支持各种DBMS,如MS SQL.MySql.Orcacle等.ABP的目标是DDD, 在持久透明化这块,是用IRepository仓储抽象来做的,具体的DBMS实现的ORM就放在基础架构层Infras…
从架构角度来讲,ApplicationService究竟应该如何定位,一种说法是直接对应用例UseCase, 也就是直接对应UI, 这个UI是广义的,不仅仅是浏览器的页面,也包括API调用.还是从我曾经踩过的一个坑说起吧: public class ProductImportService : AdvancedAsyncCrudAppService<Product, ProductDto, PagedResultRequestDto> , IProductImportService { ...…
ABP中有很多惯例,如果使用得当,可以事半功倍,如果使用不当,也会有很大的麻烦,是否适当其实还是要看Need需求 ASP.NET Boilerplate (ABP) is an open source and well documented application framework started idea of "developing a common framework for all companies and all developers!" It's not just a…
ABP框架踩坑记录 ASP.NET Boilerplate是一个专用于现代Web应用程序的通用应用程序框架. 它使用了你已经熟悉的工具,并根据它们实现最佳实践. 文章目录 使用MySQL 配置User Secrets 配置数据库表前缀 添加实体 后续更新中~~ 开始前的准备 此处使用的为ABP Module Zero,ASP.NET Core + Vue.js,版本为4.4. 开发环境: Visual Studio 2017 Community .NET Core 2.2 可以在此下载初始模板:…
废话不多说,直接开门见山.首先的 第一个错误:一般都是,碰到这个问题不要慌,先不要急着去查看sql服务是否开启,首先按F5启动项目,报错之后直接终止项目,然后再执行Update-Database命令  或者Update-Database  -ConnectionStringName “Default” 第二个错误:是执行Update-Database  -ConnectionStringName “Default”说找不到Default这个连接字符串,这个错误只需要把Web项目设为启动项就可以,…
1 在JSX的元素中写入内联样式,例如<div style={"color:blue"}></div> 报错:warning:Style prop value must be an object  react/style-prop-object 原因:在React框架的JSX编码格式要求,style必须是一个对象 解决方法:除了外部那个表示Javascript语句的花括号外,里面必须再写一个花括号{}包含的对象,例如<div style={ {  colo…
项目之前都是好好的,最近现场那边出现一个问题,报错不是合法的json字符串,这个json字符串是通过http请求访问获得的. 通过直接在浏览器上直接访问http这个请求,发现返回的json也是完全正确的.后来排查代码才发现了原来错误出在从字节流中读取数据这里: 看下之前出错代码:这个方法是处理InputStream,然后返回成一个字符串. public String process(InputStream in, String charset) { byte[] buf = new byte[1…
关于默认网关的添加.记得楼主之前有一次,无意之间,也不知道做了什么删除文件里面内容的操作,配置好静态IP之后上不了外网.翻阅个各种资料都是没有找到问题.最后发现问题在于配置的虚拟机网卡文件的网关打错了. 这里我把GATEWAY打错了...大家注意一下,试了很多种方法还是不行的话,肯定是你配置的内容里面出问题了.linux没有那么难!!! 这里就不吹了,既然说到这里,就总结一下默认网关的添加和DNS服务的添加. 默认网关的添加 查看默认路由 [root@centos7 ~]# route -n K…
遇到的问题 问题1:执行器地址为空 原因-->执行器中 没有地址 解决方案-->输入地址:http://IP地址:端口 IP地址 端口 问题2:异常信息unknown code for readObject at 0x3c 1.错误提示无法找到执行器.原因:需要启动两个项目 xxl-job-admin .xxl-job-executor-samples (这里我用的是xxl-job-executor-sample-springboot) 2.调度成功了,但是执行不会停止,只能手动停止,执行结果…
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从python到Node.js,了解过设计模式,也跟风了微信公众号开发.然而却浅尝辄止,未曾深入.买了一本本的技术书籍,没完整的翻完一本.屯了一部部的pdf,却只是在手机里占着内存.想过改变,却从未曾着手改变. 以上算是我程序猿生涯的真实写照. 现在我要尝试改变,从基础的helloworld开始,记下学习…
WebGL 踩坑系列-3 绘制球体 在 WebGL 中绘制物体时需要的顶点是以直角坐标表示的, 当然了,gl_Position 是一个四维的向量,一般将顶点赋值给 gl_Position 时,最后一维会设为 1, gl_Position = uMVPMatrix * vec4(aVertexPosition, 1.0); 这个时候的 aVertexPosition 三维向量就代表了顶点的直角坐标. 如果我们计算出球面上的顶点,并以直角坐标的形式传入着色器中,用合适的方式绘制,就能画出球面了. 但…
研究ABP框架好多天了,第一次看到这个框架的名称到现在已经很久了,但由于当时内功有限,看不太懂,所以就只是大概记住了ABP这个名字.最近几天,看到了园友@阳光铭睿的系列ABP教程,又点燃了我内心要研究ABP框架的熊熊烈火.@阳光铭睿的系列ABP教程我已经看完了,并且ABP官网(http://www.aspnetboilerplate.com/)的文档也看得差不多了.同时也发现了园友@阳光铭睿的系列ABP教程很多都是从官网翻译过来的,而且翻译水平有限,很难不让对英语稍微感兴趣的我挑刺儿(可能@阳光…
返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 本篇目录 扯扯本地化 ABP中的本地化 小结 扯扯本地化 本节来说说本地化,也有叫国际化.全球化的,不管怎么个叫法,反正道理都是一样的,就是一个系统具有选择多种语言的能力.比如,我们用的电脑或手机,可以在设置中选择语言,但是这并不影响系统已经具有的功能,只是显示的文字变成你所选语言的文字了.再比如说微信,功能设置里面也能选择语言,比如你选择的是英语,那么我们在中文看到的朋友圈就变成了"Moments". 想要更详细地…
返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 经过前面十二篇的基础教程,现在终于该做个总结了. 回顾 第一篇,我们建议新手朋友们先通过ABP官网的启动模板生成解决方案,因为这样既快速又准确,不会因为项目的搭建,而让新手畏而却步. 第二篇,我们说了实体类的创建,这是放在核心层(Core Layer)的,每个实体类最终和数据库中的表是一一对应的. 第三篇,我们讲了创建数据库上下文DbContext,这是连接应用程序和数据库的桥梁,是数据在应用和数据库之间流通的管道. 第四篇,有了前面的…
老周的ABP框架系列教程 -- 一.框架理论初步学习   1. ABP框架的来源与作用简介 1.1  简介 1.1.1       ABP框架全称为"ASP.NET Boilerplate Project",中文翻译为" ASP.NET样板项目",诞生的主要目的就是为了让.NET程序员"秒变"架构师,将.NET企业级项目的主流开发技术.最先进的架构整合起来,让.NET工程师能够更快的开发出更好的项目. 1.1.2       ABP官方网站:ht…
由于公司的项目才接触到ABP这个框架,当时就觉得高大上,什么IOC.AOP.ddd各种专业词汇让人激情 澎湃,但在使用过程中碰到了许多坑,可能也许是没有去看源码导致的,但工作确实没有那么多时间让人去慢慢研究.很久之前想手动搭建这个框架了,但是各种理由,你懂的.但是要在技术上得到大的提升就得静的下心去研究,学到大神的思想和精髓,运用到实际中去,才能去体验更开阔的天地. 本文以创建博客为思路,一步步构建整个项目,在摸索中进步,也希望能够帮助到有需要的人. 一.基础架构 第一部分主要是搭建好整个项目的…
2019 年起如何开始学习 ABP 框架系列文章-开篇有益 [[TOC]] 本系列文章推荐阅读地址为:52ABP 开发文档 https://www.52abp.com/Wiki/52abp/latest/Welcome-to-52abp 本文的目的是为了让刚刚接触 ABP 框架的同学或者准备接触 ABP 框架的同学,能够理解和搞明白 ABP 框架到底是怎么回事,毕竟它发展了好几年的时间.社区中有很多人做 了 ABP 的资料和文章包括我自己也建立了 52ABP,社区中还有 ABPplus 等等的内…
1.踩坑系列一: 抓包出来有host的字段,放到jmeter里面一起请求就报错了,去掉就请求正常了 1.踩坑系列二: 从花瓶复制过去 的values 前面有空格,肉眼看起来没有…
在前面两篇随笔<ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理>和<ABP开发框架前后端开发系列---(8)ABP框架之Winform界面的开发过程>开始介绍了权限管理的内容,其中只是列出了内部的权限系统的审计和登陆信息,以及对Winform界面的整合,本篇随笔继续介绍ABP开发框架的权限控制管理内容,包括用户.角色.机构.权限等方面,以及该框架在Winform方面的应用集成. 1.ABP框架的权限控制管理内容 我们知道,权限管理一般都会涉及到用户.组织机构.…
在前面随笔介绍的<ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理>里面,介绍了如何改进和完善审计日志和登录日志的应用服务端和Winform客户端,由于篇幅限制,没有进一步详细介绍Winform界面的开发过程,本篇随笔介绍这部分内容,并进一步扩展Winform界面的各种情况处理,力求让它进入一个新的开发里程碑. 1.回顾审计日志和登陆日志管理界面 前面介绍了如何扩展审计日志应用服务层(Application Service层)和ApiCaller层(API客户端调用封装层)…
python踩坑系列之导入包时下划红线及报错“No module named”问题 使用pycharm编写Python时,自己写了一个包(commontool),在同级另一个路径下(fileshandle)导入此包时,包名和模块名下都有红色下划线,运行程序报错 “ ModuleNotFoundError: No module named 'commontool' ”,针对此问题的几种解决办法: 方法一: 由于包和文件夹是有区别的,文件夹在创建时只会生成一个文件夹,不可以被导入.包在创建的时候会自…
有一小段时间没有持续升级ABP框架了,最近就因应客户的需要,把ABP框架进行全面的更新,由于我们应用的ABP框架,基础部分还是会使用官方的内容,因此升级的时候需要把官方基础ABP的DLL进行全面的更新,以及对应的引用DLL也同步更新才行.不过在升级过程中还是很多奇奇怪怪的问题,本篇随笔针对出现的情况进行一系列的总结,以便后面有一个对照参考吧. 1.最新案例源码和NugGet程序包更新 ABP官方的基础模块更新速度还是很快的,一段时间过去,就跳过了几个版本号,我是在旧版本的基础上进行手动的NugG…
What Is Multi Tenancy? "Software Multitenancy refers to a software architecture in which a single instance of a software runs on a server and serves multiple tenants. A tenant is a group of users who share a common access with specific privileges to…
Introduction This document describes ASP.NET Core integration for ASP.NET Boilerplate framework. ASP.NET Core integration is implemented in Abp.AspNetCore nuget package 本文档介绍了ASP.NET样板ASP.NET核心集成框架.ASP.NET的核心集成在abp.aspnetcore NuGet包实现 Migrating to AS…
Introduction "Cross-Site Request Forgery (CSRF) is a type of attack that occurs when a malicious web site, email, blog, instant message, or program causes a user’s web browser to perform an unwanted action on a trusted site for which the user is curr…
缓存在一个大型一点的系统里面是必然会涉及到的,合理的使用缓存能够给我们的系统带来更高的响应速度.由于数据提供服务涉及到数据库的相关操作,如果客户端的并发数量超过一定的数量,那么数据库的请求处理则以爆发式增长,如果数据库服务器无法快速处理这些并发请求,那么将会增加客户端的请求时间,严重者可能导致数据库服务或者应用服务直接瘫痪.缓存方案就是为这个而诞生,随着缓存的引入,可以把数据库的IO耗时操作,转换为内存数据的快速响应操作,或者把整个页面缓存到缓存系统里面.本篇随笔主要介绍利用ABP框架的支持实现…
准备动手写一套电商的系统,辗转收集了不少相关的开源项目,最后决定使用ABP作为起点. 在园子里好多人都在推广ABP.有个园友做了一个集合贴,方便大家使用  ABP集合贴 建议大家优先看 HK Zhang ABP源码分析系列 一共47篇 用图文类图的方式把ABP的类和接口及工作原理进行了阐述.看完基本上就有个大体的框架印象了.不过这个有点难度. 接下去可以看文档和样例: 中文文档:由天道组织的ABP框架中国小组翻译最原始的文档. ABP文档:有kid1412 翻译的文档. 阳铭博客:最先接触ABP…