自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 收藏
  • 关注

原创 1初步整合ABP模块化

这里我们先初步整合WebApi模块化,待程序运行起来,后续文章我们再对Abp进行深入。

2023-06-18 12:08:57 637

原创 微服务系列

微服务系列

2023-06-18 10:44:23 197

原创 K8S安装

安装K8s。

2023-02-22 00:17:35 201 1

原创 未能找到类型或命名空间名

git仓库代码没有任何问题,拉到本地进行编译sdk就报错:未能找到类型或命名空间名

2022-12-15 17:54:50 137

原创 Docker安装ELK集群

ELK集群安装

2022-11-12 15:29:47 1600

原创 C#特性Attribute使用

特性本身并没有任何意义,但是可以通过反射来进行获取。

2022-09-12 14:47:21 382

原创 Unable to retrieve project metadata. Ensure it‘s an SDK-style project. If you‘re using a custom Base

Unable to retrieve project metadata. Ensure it's an SDK-style project. If you're using a custom BaseIntermediateOutputPath or MSBuildProjectExtensionsPath values, Use the --msbuildprojectextensionspath option.

2022-08-13 15:08:11 697

原创 Docker构建Apollo配置中心高可用部署

Apollo配置中心高可用部署一、准备工作1.准备两台机器,每台安装一个MySQL1.1 Dev环境MySQL安装命令脚本1.2 Pro环境MySQL安装命令脚本二、Apollo配置中心数据库建立2.1 下载Apollo配置中心数据库脚本[github直通车](https://github.com/apolloconfig/apollo)![在这里插入图片描述](https://img-blog.csdnimg.cn/ddebd58e616f40dd87cc97e7a5de68dd.png)2.2 解压找到

2022-05-20 10:12:21 703

原创 Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist: No URLs in mir

1.Error:Failed to download metadata for repo ‘appstream’: Cannot prepare internal mirrorlist: No URLs in mirrorlistError:Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist2.解决方案dnf --disablerep

2022-05-16 15:36:43 264

原创 Redis集群单点故障:corrupted cluster config file.

Redis集群单点故障:corrupted cluster config file.引言一、场景1.1 查看服务,服务果然挂掉了1.2 排查日志二、解决方式2.1 缺失的配置文件2.2 正常节点配置文件2.3 修复配置文件重启前2.4 修复配置文件重启后引言令我匪夷所思的是:Redis-Cluster之前都是运作好好的,突然间两个节点就是启动不了,无论是通过docker命令重启,还是粗暴的重启服务器,都没有解决!一、场景1.1 查看服务,服务果然挂掉了docker ps1.2 排查日志

2021-12-26 10:48:39 1455 5

原创 Error: Unable to build IHost No DbContext named ‘PersistedGrantDbContext‘ was found.

TND,竟然是 Apollo appsettings.json 配置出错问题!!!

2021-12-04 18:30:32 1395

原创 深入理解 C# .NET Core 中 async await 异步编程思想

深入理解 C# .NET Core 中 async await 异步编程思想引言一、什么是异步?1.1 简单实例(WatchTV并行CookCoffee)二、深入理解(异步)2.1 当我需要异步返回值时,怎么处理?2.2 充分利用异步并行的高效性async await的秘密引言很久没来CSDN了,快小半年了一直在闲置,也写不出一些带有思想和深度的文章;之前就写过一篇关于async await 的异步理解 ,现在回顾,真的不要太浅和太陋,让人不忍直视!好了,废话不再啰嗦,直入主题:一、什么是异步?

2021-11-24 14:20:37 2229

原创 “Nullable object must have a value.” :“Object reference not set to an instance of an object.”

1.System.InvalidOperationException:“Nullable object must have a value.”介于这种情况,通常是:我们定义的数据类型允许为null时,又用它进行赋值所导致的!如:public int? Id { get; set; }public decimal? Price { get; set; }解决方案:1.在进行赋值之前确保,赋值对象已经存在值,即:非null;2.若无法确保是否存在值,给予一个默认值,即可;2.Syste

2021-09-14 15:31:22 1900

原创 could not be translated. Either rewrite the query in a form that can be translated

今天在编写Linq的时候,突然抛出这样一个异常:could not be translated. Either rewrite the query in a form that can be translated,之前就出现过,一直没怎么整明白,简单修复后就没再管,可是今天还相同的错误还是又重现了,大致的意思就是:Linq无法被翻译成成sql执行,恼人啊!其实解决也很简单,先看错误的写法:解决方案:对调一下位置,即可解决!口诀: from 数量少的 join 数量多的 on...

2021-09-07 17:35:32 6582

原创 “The given assembly name or codebase was invalid. (0x80131047)”

今天程序跑着跑着,突然冒出个不知名的错误,自己一头雾水!System.IO.FileLoadException:“The given assembly name or codebase was invalid. (0x80131047)”罪魁祸首,竟然是这个东东!不知道啥时候莫名其妙在项目的.csproj里生成了它,醉鸟,醉鸟!感谢同事的帮忙,终于超找出了它,去掉错误的程序集部分,总算成功解决!...

2021-09-06 16:11:33 1535

原创 浅谈Task多线程剖析await关键字

深入Task多线程剖析await关键字引言一、异步线程的使用二、await的妙用引言其实谈到多线程吧,首先应该联想到的是异步;那么异步究竟是什么呢?异步其实就好像你在家里做饭一样:同样的时间,你可以在用电饭锅煮饭的时候,这个煮饭的过程电饭锅煮它的,你只需要知道它在煮着的就是,但是不影响你又在进行洗或是炒菜的这个过程,仅此而已!比喻不太恰当,但意义就是这样,说的高大上点,就是利用CPU的时间片,通过线程来挂起任务,不必等到极大耗时的那个程序步骤或者方法执行完,才给你反馈结果,而是确保编译通过的情况下,让

2021-07-08 20:58:37 232 1

原创 gitlab+docker+gitlab-runner自动化部署.net core

gitlab+docker+gitlab-runner自动化部署.net core引言一、安装gitlab1.1 安装openssh-server1.2 安装邮件发送服务1.3 将gitlab导入服务器的Repository1.4 gitlab有两个版本,ee企业版收费,ce社区版1.5 初始化帐户1.6 登入系统,开放注册邮箱验证1.7 配置邮箱发送1.8 重新加载配置,就可以进行邮箱发送了二、安装Docker引言不知从什么时候开始,也不知道是不是误入歧途,干着开发的活,却热衷于运维的部署;也突然间

2021-06-24 16:12:15 831

原创 ASP.NET Core文件上传和下载

ASP.NET Core文件上传和下载一、文件上传1.1 获取文件后缀1.2 上传单文件1.3 上传多文件二、文件下载2.1 获取ContentType属性2.1 执行下载一、文件上传1.1 获取文件后缀 /// <summary> /// 获取文件后缀 /// </summary> /// <param name="fileName">文件名称</param> /// &lt

2021-06-16 15:27:50 1386 3

原创 Ocelot: Index was out of range. Must be non-negative and less than the size of the collection

ASP.NET Core+Consul+Ocleot 出错一、错误: Index was out of range.……1.1 Consul服务注入正常2.2 Ocelot报错: Index was out of range.……2.3 找出错误:原来是注入方式错误,更改注入方式三、Ocelot网关终于正常访问一、错误: Index was out of range.……1.1 Consul服务注入正常 public static void RegisterConsul()

2021-04-21 23:40:06 4081 2

原创 EF Core:The instance of entity type ‘ApiLogs‘ cannot be tracked because another instance with the……

EF Core:The instance of entity type 'ApiLogs' cannot be tracked because another instance with the……一、错误二、解决方案2.1 AsNoTracking2.2 手动配置一、错误二、解决方案这个问题,是 EF Core 对实体默认进行状态跟踪造成的,说的高大上一点,叫:线程安全 导致的,解决方法很简单,即:对读取的数据不进行跟踪即可!可以使用 AsNoTracking 属性,也可以手动控制!2.1

2021-04-21 22:46:11 1443 2

原创 Error:Could not find a part of the path .......

Error:Could not find a part of the path .......一、场景二、Bug重现三、解决方案一、场景现在公司有个需求,要在后台自定义报告内容:封面、内页、目录等;很明显,一定要用到文件上传的功能,Bug出现的问题是这样子的:· 1、本地正常运行,上传无误· 2、测试服务器运行正常,上传无误· 3、正式服就不行了,Error:Could not find a part of the path …很懵逼,因为本地和测试服运行都OK啊,根本无法定位,最难搞的

2021-04-20 18:33:06 7950 1

原创 ASP.NET Core实现依赖注入的批量注入

这里写目录标题一、数据层泛型接口的依赖注入1.1 编写公共接口1.2 公共接口的实现2.6 AutoMapperz注入1.3 在Startup.cs注入二、业务层的泛型依赖注入2.1 为什么要将将公共接口的实现分层?2.2 编写公共接口2.3 编写公共接口的实现2.4 在Startup.cs注入2.4 模型分层2.4.1 PO模型2.4.2 ListDto模型2.4.3 DetailDto模型2.5 业务应用2.5.1 接口继承2.5.2 接口实现2.6 在Startup.cs进行集中式注入三、Web层调用

2021-04-17 18:22:55 1380

原创 使用EPPlus实现Excel导出

使用EPPlus实现Excel导出引言一、如何获取对象(类)属性和值?1.1 创建对象(类)1.2 获取对象(类)的属性1.3 获取对象(类)的属性值二、通过对象(类)的属性和值进行导出2.1 NuGet:EPPlus2.2 创建EPPlus导出Excel的辅助类2.3 Web层调用导出引言使用EPPlus导出Excel我们在封装之前,需要明白怎么去根据一个对象(类)获取到其属性和属性的值,当我们提前弄清楚这个东东的话,对我们后续的工作就好开展了!因为EPPlus导出Excel是需要进行行列对应的,不

2021-04-16 19:11:38 2602 3

原创 使用Ajax上传File

使用Ajax上传File一、创建布局(Bootstrap)1.1 创建一个简单表单1.2 创建一个上传控制器二、编写ajax2.1 验证serialize传参2.1 通过FormData序列化一、创建布局(Bootstrap)1.1 创建一个简单表单<form id="myForm" enctype="multipart/form-data" onsubmit="return save()"> <div class="form-group"> <l

2021-04-16 17:19:38 554

原创 ASP.NET Core WebApi配置跨域

ASP.NET Core WebApi配置跨域引言一、开启跨域访问二、配置跨域规则二、远程跨域访问引言当我们在项目的额开发过程中,使用到前后端分离,而不再是传统的MVC进行开发时,我们的WebApi项目默认是没有开启跨域的,因为浏览器安全性可防止网页默认同域策略。 同域策略可防止恶意站点从另一站点读取敏感数据。 有时,你可能想要允许其他站点对你的应用进行跨域请求。一、开启跨域访问这里只需要注意一下:必须将对的调用 UseCors 置于 UseAuthorization之前 ,UseRoutin

2021-04-05 21:06:54 3328 6

原创 ASP.NET Core使用NLog作为日志记录组件

ASP.NET Core使用NLog作为日志记录组件引言一、XML形式配置1.1 NuGet包1.2 根目录下直接创建nlog.config的xml文件1.3 在数据库中创建表1.4 在Prgram.cs中配置NLog1.5 Web层调用二、通过代码进行配置2.1 创建一个辅助类,读取appsettings.json2.2 appsettings.json配置2.3 使用代码对NLog进行配置2.4 Web层调用三、appsettings.json进行配置3.1 appsettings.json配置3.2

2021-04-03 02:31:49 368

原创 C#获取类的属性和值的方法(含List转Datatable方法)

C#获取类的属性和值的方法引言一、创建测试类二、获取泛型T的属性三、获取泛型T的值四、扩展:List转DataTable引言为什么会引出这样的问题呢?其实,这是必然的,因为我们在日常的代码编写中,当使用到泛型,如:public class ConvertHelper where T : class,new(),我们会发现此时想要对泛型T进行属性获取和值获取的时候,仿佛成了一个难题!一、创建测试类 public class User { public string Id

2021-03-25 15:53:48 1667

原创 ASP.NET Core的依赖注入

ASP.NET Core的依赖注入一、什么是依赖注入?1、DI是什么?2、IoC又是什么?二、ASP.NET Core依赖注入的实现1、什么是依赖项?2、依赖项解藕与注入实现一、什么是依赖注入?1、DI是什么?DI是一种软件设计模式,是一种在类及其依赖关系之间实现控制反转 (IoC) 的技术,故而在业界被称之为:依赖关系注入。千万不要被其名唬住了,以为是多么深不可测的东西!2、IoC又是什么?官方描述:大部分应用程序都是这样编写的:编译时依赖关系顺着运行时执行的方向流动,从而生成一个直接依赖

2021-03-23 10:14:47 416

原创 async/await异步和Task多线程您真的明白了吗?

Async异步和Task多线程异步引言什么是异步什么是TaskAsync和Task异步详解引言嗯,由于自己的无知和对知识总时一知半解的情况下,使自己一直纠结于这样的一个问题:究竟什么是异步,在C#中究竟是async定义了异步,还是使用了Task本身就是异步?很明显,在这样的问题下,觉得自己真的很傻逼。原本这样的问题的解释根本不存在,原因是:自己无知啊,对知识理解不透彻,怎么可能想明白。所以,经过一番痛苦的挣扎,终于明白了其中的意义,暫抒己见,还望路过的大神能够指点一二,万分感谢!什么是异步异步

2021-03-20 22:31:03 2375 6

原创 tt.service: Main process exited, code=exited, status=217/USER

今天再次进行.NET Core应用部署的时候,自定义一个用于开机启动监视应用的service,怎么都启动不了,报错如下:原来指定的用户错误,在我们的service文件夹,将User更改为root或其他该系统的用户即可!更改后,成功解决!有点坑啊,这个隐藏的bug,罪魁祸首还是自己从官方直接复制的代码,没有进行深入了解啊!导致不明白这个User代表的究竟是个什么东东!!!...

2021-03-16 16:53:55 1721

原创 Quartz.NET+Windows服务定时任务发送邮件

Quartz.NET定时任发送邮件一、什么是Quartz.NET1、编写第一个定时任务2、编写触发器运行定时任务二、什么是Windows服务1、编写第一个Windows服务2、如何安装Windows服务3、如何卸载Windows服务三、完整代码示例一、什么是Quartz.NETQuartz是基于Java开源的一款制作定时任务的框架,不过也有.NET版本,传送门:Quartz.NET官网。简单的说,就是编写一个应用程序,让它定时去做什么!如:每天早上八点,定时给客户发送邮件,每周四给社区用户发送推广信息

2021-03-14 13:57:31 676

原创 ASP.NET Core生成好看的图形验证码

ASP.NET Core图形验证码引言生成随机数绘制图片画布画躁线画噪点画验证码完整代码示例引言ASP.NET Core的验证码呢,稍微有一点曲折,因为默认System.Drawing没有Bitmap对象,也就没法绘制对象,不过通过NuGet:ZKWeb.System.Drawing 可引入Bitmap对象,进行验证码图片的绘制。生成随机数随机数就比较简单了,给定特定的字符数组,通过Random来生成随机数拼接成对应的字符串,就得到了我们的随验证码的随即字符,这里我简单进行了封装,仅供参考!

2021-03-07 13:31:01 1767

原创 EFCore使用MySQL

EFCore使用SQL Server应该是鼻祖了吧,哈哈!不过使用MySQL的就比较少见了,至少官网是没有引导的。因为是MySQL微软的东西嘛,当然推崇SQL Server了;不过MySQL相对SQL Server更为轻量一些,我们就来简单整理下吧!Model层NuGet包如下:1、Microsoft.EntityFrameworkCore.Design2、Microsoft.EntityFrameworkCore.Tools3、MySql.EntityFrameworkCore4、Microso.

2021-03-03 11:32:03 3784 4

原创 ASP.NET Core读取AppSettings.json配置

在ASP.NET Core中读取配置字符串,并不像.NET那样直接Configuration.GetConnestionString()简单了,通过Startup.cs查看默认实现,是通过注入的!那么我们在其他层又如何去读取呢,通过实际代码发现,是没有GetConnectionString()方法的,也就是说,无法直接通过Configuration进行读取的!要想读取,其实也很简单,new 一下ConfigurationBuilder就可以了!var config = new Con.

2021-03-03 10:46:17 978

原创 ASP.ET Core的Identity授权

以往做授权的时候,自己并不清楚什么样的体系才叫授权,记得在摸索的时候,在不明觉厉的情况下,采用的是通过重写在每个Action执行之前的OnActionExecuting方法来对Session判断是否存储当前用户的登录状态,来进行授权策略分配,但微软推出了一套完整的Identity授权体系,门槛的确很高,但使用起来相当方便,让我们告别OnActionExecuting的重写,一起去探索更丰富的代码世界吧!首先,创建一个类库项目,命名为Sys.ModelNuget的引用的第三方包如下:1、Micr.

2021-02-28 00:32:31 225 4

原创 SQL语句统计排行前10

哇,好久没来CSDN了,正好在前几天的面试题中,恰好遇到了自己的一个盲区,场景:公司每天要进行打卡上班,每个人每天也可以多次打卡,所有打卡信息会记录到表A 中,表A中有name, date, time 等字段。a. 要统计今天迟到的人的名单,请写出相应的SQL。b. 每月会统计迟到次数排行前十的人的名单,请写出相应的SQL。CREATE TABLE A(NAME VARCHAR(50),DATE DATETIME,TIME TIME);INSERT INTO `a`(`name`,`date`.

2021-02-18 19:11:56 13283 13

原创 ASP.NET Core使用HttpWebRequest发送请求

这里所讲的get与post请求,与平时我们在前台通过js传的get与post并不相同。比如我们有这样的一个场景:我们需要读取一个api的数据,在这个过程,我们想要在后台进行封装,从而返回给前台一个操作结果。就好像,我们在做微信开发的时候,自定义菜单、获取Access_Token我们都是通过在后台对其进行get和post请求来封装。比较抽象,示意图如下:首先创建一个API项目,并创建一个类:NuGet:Microsoft.AspNetCore.Mvc.NewtonsoftJson 作为格式化.

2021-01-28 20:47:05 3046 2

原创 Linux配置关闭防火墙开放端口局域网互通

虚拟机安装Linux系统,以Ubuntu为例:要想内网互通并配置远程,首先需要关闭防火墙,其次开放相应端口。记得一开始不明白,踩了许多坑。尤其在使用ifconfig命令的时候,需要安装net-tools,在Windows,则是使用ipconfig命令来获取本机ip,这里一共开放了端口:22 用于Putty和WinSCP远程登录。# 安装net-toolssudo apt install net-tools# 关闭防火墙sudo ufw disable# 开启防火墙sudo ufw enabl.

2021-01-25 20:54:22 1446

原创 Linux在线安装卸载Tomcat并部署J2EE(Web项目)

在SpringBoot尚未诞生之前,J2EE(Web项目)一直是通过Tomcat来进行部署的,今天我们就在Linux上来整理并部署吧!# 卸载Tomcatsudo apt autoremove tomcat9# 安装tomcatsudo apt install tomcat9# 启动tomcatsudo service tomcat9 start# 停止tomcatsudo service tomcat9 stop# 重启tomcatsudo service tomcat9 rest.

2021-01-25 20:16:11 227

原创 js实现点击添加背景同级去除背景

我相信大家一定有过这样的体验,就是在我们打开一个导航栏,在我们进行点击的时候,会在其加上背景,同时对其同级的属性自动去除背景,体验起来是相当的舒服。今天我们就来简单制作一下吧!css代码:<style> .top { margin:1em 0 1em 3em; padding-bottom:2em; } .left_box { border: solid 1px #DDD; width: 122px;.

2021-01-23 17:27:45 510

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除