
abpvnext
文章平均质量分 63
9200237
这个作者很懒,什么都没留下…
展开
-
关于.NETCORE站点程序部署到nginx上无法访问静态文件和无法正确生成文件的问题解决过程。
根据百度查出来的资料提示。1、关于无法生成二维码的问题,网上搜到的资料有个说法是linux系统中,路径中不能有 \\ 这样的反斜杠,应该用 / 这样的正斜杠来分隔目录上下级,而且windows是可以支持 正斜杠/这样的文件物理路径的。结果还是提示找不到logo图片, 最后我到宝塔里直接用这个报错的路径去访问文件,也提示找不到,最后发现是目录最后一级的 CompanyLog 这个名字的l大写了, 但实际目录却没有大写,linux是区分大小写的,所以找不到文件了。解决了这个问题之后,发现还有错误日志。原创 2024-07-09 15:20:49 · 1334 阅读 · 0 评论 -
freesql “【主库】状态不可用,等待后台检查程序恢复方可使用”异常的解决。aspose报错:The document appears to be corrupted and cannot be
我的项目仓储FreeSqlRepository中同时引用了“FreeSql.Provider.MySql” 和“FreeSql.Provider.MySqlConnector” 两个组件。其实只要删除FreeSql.Provider.MySql,系统就不会报这种错误了,但是巧合的是,“FreeSql.Provider.MySql”这个引用删除了又会引起我使用的一个老版本aspose.words插件他new document失败。所以 FreeSql.Provider.MySql 还不能删除,两头为难。原创 2024-07-01 14:20:51 · 1555 阅读 · 0 评论 -
abpvnext给基础表abpuser增加扩展表扩展注册用户业务
【代码】abpvnext给基础表abpuser增加扩展表扩展注册用户业务。 操作角色表abproles、租户表abptenants、用户表abpusers、用户角色表abpuserroles。原创 2024-01-11 16:31:23 · 843 阅读 · 0 评论 -
abpvnext框架的项目部署到linux arm64版的docker中
接下来其他的步骤就跟原来差不多了, 部署到arm64平台的系统,要注意的就是发布的时候指定平台linux-arm64 , dockefile里面第一行要加指定平台参数-focal-arm64v8,然后创建镜像的时候如上面命令也要指定平台参数--platform linux/amd64。注意啊,如果命令从文档复制过来在执行总是失败,然后又确定容器名和端口没有重复,那就自己手工敲命令,比如我上图这样, 坑死了, 复制修改了容器名,和端口很多遍都是失败, 手工敲就没问题了。原创 2023-12-20 17:06:05 · 1519 阅读 · 1 评论 -
netcore swagger 错误 Failed to load API definition
后来我就清理编译dll ,重新编译再启动后端调试,登录后端服务接口,重新进入到swagger界面之后,控制台有提示具体接口报错了,错误截图如下。根据提示找到控制器代码位置,其实还是接口缺少attribute,加上 HttpPost和SwaggerOperation属性就没有问题了。根据网上查询到的资料说明,说一般swagger这种错误都是控制器里有接口代码异常造成的,通常是接口没有加属性Attribute, 比如[HttpPost("Delete")]、[HttpGet("Delete")]。原创 2023-12-04 13:48:38 · 1537 阅读 · 0 评论 -
.netcore 操作aspose.words导出pdf
控制图形的显示位置,这个地方好像必须要选一个位置,否则会内容显示不全,我开始用的LegendPosition.None,他就显示不了那几条线的颜色和名称说明文字。为了搞出这个效果浪费了我一天时间。个人重点关注的是生成曲线图的部分,浪费了我很多时间。原创 2023-12-01 14:01:54 · 982 阅读 · 0 评论 -
netcore 获取应用程序或者站点根路径的一点知识和教训
然后调试了很久,各种办法试,发现http方式只能访问到项目的根目录JQ.TAHM.HttpApi.Host这一级,在这一级的wwwroot目录里的文件是可以访问到的。但是往下的 bin\Debug\net6.0\wwwroot\File\Report\20231130 这种,http他是访问不到的。但是我是在一个业务类里面实现pdf文件生成,为了保持这个业务类的相对独立性,我又偷懒不想将IWebHostEnvironment通过控制器逐层传递依赖注入到业务类里面。鬼使神差的不知道怎么的搜到了可以使用。原创 2023-11-30 15:38:24 · 992 阅读 · 0 评论 -
.netcore 获取appsettings
.netcore 获取appsettingsIConfiguration myconfiguration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json").Build();原创 2023-11-24 17:14:34 · 1107 阅读 · 0 评论 -
执行dotnet ef database update EF同步数据表时报错 Duplicate column name ‘xxx‘
然后编译JQ.TAHM.EntityFrameworkCore工程, 再次执行 dotnet ef database update。只不过我新增的业务表在数据库也没有创建成功,因为新增加的20230602092423_tahmCollectJob_init.cs文件类里压根就没有我新增加的表和字段的创建内容。然后我打开新增加的init代码初始化文件,发现他居然只有ExtraProp这一个字段的初始化代码,而这个还偏偏不是我需要修改的字段。我为abpnext项目加了一个新表的业务代码。原创 2023-06-05 12:05:11 · 481 阅读 · 0 评论 -
abpvnext后台工作者使用quartz扩展的一些思路和使用细节记录--(未完待续)
2、搞一个普通的后台工作者,比如定时1分钟去扫描一次setinfo表,然后遍历分析看看每个租户的各项需要执行的判定周期是否有变动,如果有变动就到job队列表,新增或者修改这个租户对应的执行业务类型的周期值。租户id,执行的业务类型(按setinfo表对应的设置字段名来填),执行时间间隔,上次执行时间,执行次数(可选),失败次数(可选),执行状态锁(1执行中,0空闲中)。我有一个温湿度数据采集的物联网系统,每个租户都需要定时执行若干种任务, 不同的租户, 他定时执行的间隔不一样 ,比如。原创 2023-05-12 15:21:51 · 992 阅读 · 0 评论 -
abpvnext --关于数据过滤的使用和禁用
然后我修改json配置文件,将EF的日志级别修改为Information,输出sql脚本发现每次查询他会自动加上两个我没有加的条件,尤其是(`d`.`TenantId` IS NULL))),会跟我后面自定义的条件 AND (`d`.`TenantId` = @__tenantid_1) 互斥,造成本来满足条件的数据查不到了,如下图所示红框圈住部分的sql日志。经过群内大佬指点,他们说是这个字典实体使用了abp的数据过滤机制引起的。我一查实体果然有继承一个IMultiTenant。原创 2023-04-24 11:02:46 · 750 阅读 · 0 评论 -
abpvnext 创建数据时发布本地事件ILocalEventBus.PublishAsync ,创建的数据被阻塞的问题解决
我有一个需求,需要在字典服务里创建字典类型成功后执行ILocalEventBus.PublishAsync 发布一个事件,让主业务服务订阅这个事件。加上await UnitOfWorkManager.Current.CompleteAsync();这一行就可以了,还可以写成下面这样。原创 2023-04-20 17:30:31 · 1032 阅读 · 0 评论 -
关于 await 和task.result的区别的疑惑
await或者 .result/ .getwaiter().getresult() 这两个的区别在于,当遇到await会把线程挂起,开启别的线程继续后面的操作。但是遇到 .result会一直等在这里,不会开新的线程。今天在给一个方法加业务时,需要提前使用一个本来应该返回给调用者使用的实体。就造出了如下图所示的代码形式, 专门创建一个对象接收await task得到的实体。然后我觉得这样await一个task两次,有点脱裤子放屁的感觉,又改造出如下的效果,用task.result的方式来阻塞获取id。原创 2023-04-14 16:09:58 · 1411 阅读 · 0 评论 -
abp vnext pro 使用笔记
1、前端使用nswag 生成代理,nswag 目录下有nswag.json文件,文件中有个url地址指向的是后端的swagger生成的json,如果后端改动了[]中暴露的接口名,最好是后端清理编译的缓存,重新编译启动,前段也退出重新执行 npm run nswag ,其实后端控制器那里做了任何改动都要在前端更新nswag。5、推测后端框架代码可能在缓存里产生了很多数据,所以如果修改了代码,想要产生新的版本,最好是清理干净解决方案,然后等待一段时间再重新启动服务,这样缓存可以消失干净。原创 2023-04-04 15:15:06 · 811 阅读 · 0 评论 -
abpvnext开发异常:Missing type map configuration or unsupported mapping
我的项目在操作一个新的实体插入数据,映射dto时抛出了如下异常: 翻译:缺少类型映射配置或不支持的映射 经过检查和查询资料,是因为DomainAutoMapperProfile文件中缺少实体和dto之间的map映射关系转换注册。加上CreateMap(); 即可原创 2023-04-03 17:26:50 · 498 阅读 · 0 评论 -
工作单元介绍
维护受业务事务影响的对象列表,并协调变化的写入和并发问题的解决。这是《企业应用架构模式》中给出的定义,不过看上去有点抽象。它大概的意思是说,对多个操作进行打包,记录对象上的所有 变化,并在最后提交时一次性将所有变化通过系统事务写入数据库。当然,工作单元不一定是针对数据库的,不过大部分程序员还是工作在关系数据库中,所以我默认你也在使用关系数据库,由此产生的不准确性你就不要再计较了。初步看上去,工作单元与事务颇为相像,一个事务也会包装多个数据库操作,并在最后提交更改。原创 2023-03-30 15:41:37 · 1136 阅读 · 0 评论 -
abpvnext --The database operation was expected to affect 1 row(s), but actually affected 0 row(s)
以上错误是我的 IDistributedEventHandler 实现类TahmEventHandler(用来消费mqtt的消息内容)的消息订阅事件 HandleEventAsync中,因为给服务器发送消息很快,执行的消息数据解析业务方法,执行数据操作时报出的错误。(原因我还没搞明白) ,所以我用ISingletonDependency来测试,然后用mqttx客户端使劲给服务器发送消息,我的业务系统就抛出了上面的错误。数据库操作预计影响1行,但实际影响0行;自实体加载以来,数据可能已被修改或删除。原创 2023-03-30 14:37:15 · 696 阅读 · 0 评论 -
abpvnext 开发中ValidationErrors和LifetimeScope异常的解决办法
abpvnext Method arguments are not valid! See ValidationErrors for detailsInstances cannot be resolved and nested lifetimes cannot be created from this LifetimeScope as it (or one of its parent scopes) has already been disposed.原创 2023-03-24 15:52:23 · 1813 阅读 · 0 评论 -
abpvnext中使用后台工作者BackgroundWorker创建定时任务,实现定时从更新要缓存的数据到redis
abpvnext中使用后台工作者BackgroundWorker创建定时任务,实现定时从更新需要缓存的数据到redis原创 2023-03-22 15:06:24 · 1699 阅读 · 0 评论 -
abpvnext 运行启动顺序
Configure:其中调用app.InitializeApplication,这是aspnetcore 中参数 Microsoft.AspNetCore.Builder.IApplicationBuilder执行对应用程序的初始加载。其中ConfigurePreheat为委托对象方法,里面包含自定义的需要预热的加载。我的项目是github上基于abp创建的一个快速框架Abp Vnext Pro来生成的,可能会跟abp官方生成的项目结构稍稍有点区别,单基本上相同。---------未完待续。原创 2023-03-13 17:54:19 · 357 阅读 · 0 评论 -
The JSON value could not be converted to System.Boolean--状态字段前后端类型不一致报错
The JSON value could not be converted to System.Boolean原创 2023-01-30 16:27:02 · 2287 阅读 · 0 评论 -
通过abp官方自助创建的项目排坑记录
Volo.Abp.Http.Client.AbpRemoteCallException: An error occurred during the ABP remote HTTP request. (由于目标计算机积极拒绝,无法连接。---> System.Net.Http.HttpRequestException: 由于目标计算机积极拒绝,无法连接。---> System.Net.Sockets.SocketException (10061): 由于目标计算机积极拒绝,无法连接。......原创 2022-08-16 17:14:38 · 1835 阅读 · 0 评论 -
ABPVNEXT 创建项目运行提示Could not find the bundle file ‘/libs/abp/core/abp.css‘ for the bundle ‘Basic.Globa
ABPvnext 缺失LIBS文件夹引起的Could not find the bundle file '/libs/abp/core/abp.css' for the bundle 'Basic.Globa原创 2022-07-24 01:10:39 · 2282 阅读 · 0 评论