自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C# 计算两个经纬度之间的距离

【代码】C# 计算两个经纬度之间的距离。

2024-06-07 10:51:09 90

原创 redis 频繁报超时

这样我都设置成了一分钟。然后重新跑一下代码就可以了。如果redis 频繁报超时,

2024-05-30 16:13:46 275

原创 Linux常用命令

需要输入自己账户密码。mv /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录剪切到 /opt目录下面。cd /xxx/xx/x //可以输入完整的路径,直接切换到目标目录,输入过程中可以使用tab键快速补全。cp /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录复制到 /opt目录下面。find /bin -name 'a*' //查找/bin目录下的所有以a开头的文件或者目录。

2024-05-07 18:00:22 286

原创 putty简易使用教程

PuTTY 是一个准绿色软件,说它绿色是因为直接就能使用,完全没有任何的安装程序。准绿色是指 PuTTY 的所有配置都保存到了注册表,如果不记得备份注册表中的相关内容,下次重装机器所有配置就没了,而且配置也不方便用闪存盘随身携带。但是 PuTTY 的配置删除还是蛮方便的,运行时指定个参数 -cleanup 就可以清除 PuTTY 的所有配置信息。Only on clear exit (这个是默认选中的,只有在本次登录中运行的程序都正常终止或者在后台运行,窗口才关闭)

2024-05-07 17:56:06 407

原创 使用minio 实现分布式文件上传

后面采用了分布式的文件上传,因为是内网的,所以上网找了很久,发现minio这个开源分布式文件系统。后面去网上查了一下,minio 近两年协议换成了GUN AGPL v3。然后我又去搜了一下,这个协议想要免费使用,就得把自己的项目也开源。下载完成后,使用命令将minio 启动,其中 -v 是将mino 的文件存放映射到服务器本机,而不是直接放在docker 容器里。现在minio 成功启动,在代码中添加minio 的包。找到了之后,直接下载压缩包,或者使用命令下载镜像。添加完成后,注入minio。

2024-05-07 16:02:21 227

原创 .net Core Cron 表达式计算接下来10次运行时间

.net Core Cron 表达式计算接下来10次运行时间

2024-04-30 09:20:17 308

原创 .NET CORE 全局异常抓取

异常过滤器IExceptionFilter ( A filter that runs after an action has thrown an System.Exception.),顾,它抓取的范围是Action方法执行过程中出现的未处理的异常,其它异常并不会被该过滤器捕捉到,如身份验证器中的异常,所以用IExceptionFilter做全局异常抓取是有很大局限性的。注意:如果这两个异常捕捉同时存在,异常处理后需要将异常标记为已解决( context.ExceptionHandled = true;

2024-04-30 09:15:00 221

原创 Docker 桌面版安装使用

Docker Desktop 是 Docker 在 Windows 和 macOS 操作系统上的官方安装方式,这个方法依然属于先在虚拟机中安装 Linux 然后再安装 Docker 的方法。Docker Desktop 官方下载地址:安装Hyper-VHyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。这是 Docker Desktop for Windows 所使用的虚拟机。

2024-04-30 09:13:06 841 1

原创 net core 配置文件加密(RSA加密)

在配置文件中,数据库连接字符串,缓存链接字符串等敏感信息,需要配置成加密形式。今天记录一下工作经验。公钥与私钥是匹配的,公钥加密过后使用对应的私钥进行解密。我使用的是RSA加密。

2024-04-29 14:48:49 139

原创 C# 动态生成表达式树(lamdba)动态生成表达式树(lamdba)

我在为EF core 封装一个 UpdateOrCreateAsync 的方法时,需要动态的Lamdba 来配合我。动态生成布尔值的lamdba。

2024-04-29 14:46:39 169

原创 SVN+docker + jenkins 部署DotNetcore webapi

在构建触发器中设置 轮询SCM (也就是每隔一段时间去校验版本,如果有新版本,那么会触发构建),我配置为一分钟,也就是每分钟都去看看有没有新版本,有就自动拉取代码并执行配置的 shell。1.jenkins 是运行在容器中的,想要在容器内执行docker命令 ,必须得将docker 相关文件夹映射出来,否则在jenkins中执行docker 命令将会找不到命令。提示版本jenkins 版本过低。这句代表将会清除旧的镜像,只保留最新的,如果需要保留旧镜像,就不要加这一句 webapi 为你的镜像名。

2024-04-29 14:43:08 1017 1

原创 netcore 请求api 获取附件

工作中可能会使用api请求接口,然后从接口中读取附件,今天做个记录。实际上很简单,下边是个例子。1.从指定接口下载文件。2.从指定接口上传文件。

2024-04-29 14:36:16 166

原创 (C#)dotnet Core 在程序中获取 注释(summary)

比如我有一个 home 的控制器,我需要将此控制器的提供的接口获取到,成为一个List,然后还要获取到接口的注释一并返回。右键项目,点击属性,新建一个xml 文件用于存放 注释信息(与swagger 获取注释信息一样的)但是summary在编译时是不会被编译的,所以获取到这个比较困难。有个比较怪的需求,就是把我现在所有能够访问的接口都展示出来。summary: 首页接口。返回的数据就是这样的,注释变了之后,此接口的数据也会及时变。生成项目后就能看到,所有注释都被放在了这个文件中。

2024-04-29 14:33:39 204

原创 Visual Studio默认管理员权限打开

注意在点击测试程序后,程序会管理员权限运行,可以关闭后点击下一页,点击为此程序保存这些设置。右键vs ,打开文件所在路径,找到devenv.exe。

2024-04-29 14:30:48 406

原创 netcore 通过docker 部署

右键项目选择Docker支持选择Linux完成后,在项目中就生成了一个Docker file(注意:如果项目有新类库或者新项目的添加,需要重新生成dockerfile 或者在dockerfile中添加相应的scproj路径信息)

2024-04-29 14:29:20 250

原创 net core 使用jwt

1. 安装必要的包首先,确保你的.NET Core项目中安装了处理JWT相关的包,比如和。可以通过NuGet包管理器来安装。

2024-04-29 14:15:17 1133

原创 git 提交代码遇到branch master -> FETCH_HEAD fatal: refusing to merge unrelated histories

并收到“fatal: refusing to merge unrelated histories”这样的错误时,这意味着你正在尝试合并两个完全没有共同历史记录的分支。Git 默认情况下对于这种情况会拒绝合并,以防止不同项目或完全不同开发线的历史记录意外混合在一起。但是,请谨慎操作,确保你知道自己在做什么,因为这可能会引入意料之外的问题,特别是当两个项目结构、内容有显著差异时。在合并之前,请确认这是你想要的操作,并评估潜在的影响。输入这段命令之后会弹出一个文件,请输入一条提交消息,解释为什么需要进行此合并。

2024-03-27 15:42:08 487

原创 net core 使用 rabbitmq

都说rabbitmq可以实现异步处理,流量削峰,所有的概念都了解了一遍,但是真正使用的时候难以下手,那么这篇博客可能会对你有帮助

2024-03-20 17:41:32 376 1

原创 net core 使用redis 分布式锁

redis分布式锁,netcore,C#

2024-03-14 14:13:37 530

原创 net 6 使用 consul 做服务注册与服务发现(下)

实现如下,GetService 方法主要就是实现,将服务地址放进一个数组中,当consul 的版本号发生变化,那么才会重新到consul 去取一次健康的地址,这样大大的避免了每个请求都会先去consul 找地址。这样虽然成功了,但是新的问题又出现了,在我请求一个接口时,我都会先去consul 获取请求地址,然后再发送请求,这样请求就变得啰嗦了,而且增加了请求耗时。现在来运行看一下,下边端口在不停变换,那么证明,随机访问端口成功,也正确获取到了consul 中的服务。在接口中新增一个服务列表的方法。

2023-12-08 10:34:00 96

原创 net 6 使用 consul 做服务注册与服务发现(上)

client:consul服务侦听地址,这个地址提供HTTP、DNS、RPC等服务,默认是127.0.0.1所以不对外提供服务,如果你要对外提供服务改成0.0.0.0。服务发现:Consul充当了一个注册表,使得服务能够自动注册和发现其他服务。当新的服务启动或停止时,Consul能够自动更新服务注册表,并通知其他服务。健康检查:Consul可以周期性地检查服务的健康状态,确保只有可用的服务被注册并参与负载均衡。node:节点的名称,集群中必须是唯一的,默认是该节点的主机名。

2023-12-08 10:30:45 327

原创 nlog 设置全局变量

在使用nlog 记录日志时,需要在配置文件传递许多通用的参数,比如人员信息,IP,端口等等这些常用且通用的参数,但是又不想去每次记录日志时都去传递这些参数。因此可以把他设置为nlog的全局变量,在配置文件中仅仅只需要将需要记录的信息使用 ${username} 这样的方式来直接使用。这个登录名仅仅只在登录日志中使用到了,所以就不建议做成全局的,只需要在记录登录日志的地方,单独的将登录名传递给nlog。假设,我需要记录一个登录日志,需要传递一个登录名,和密码。也就是下边这段代码之后。

2023-12-08 10:23:02 110

原创 Quartz 定时器使用基础

Quartz.NET是一个强大、开源、轻量的作业调度框架,是一个用C#编写的纯.NET库,是一个非常流行的开源Java作业调度框架。是 OpenSymphony 的 Quartz API 的.NET移植,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等通俗说它的功能是:比如说我想每天晚上2点让程序或网站执行某些代码,或者每隔5秒种我想查看是否有新的任务要处理等。Quartz主要有三部分组成任务(Job)、触发器(Trigger)和调度器(Schedule)。

2023-12-08 10:17:23 98

原创 Docker 部署后端接口(net core)

右键项目选择Docker支持选择Linux完成后,在项目中就生成了一个Docker file(注意:如果项目有新类库或者新项目的添加,需要重新生成dockerfile 或者在dockerfile中添加相应的scproj路径信息)

2023-12-08 10:14:18 142

原创 消息队列(rabbitMQ)

常用的消息队列MSMQ:微软自带的消息队列,使用的人少,不开源rabbitMQ:开源,支持语言多,使用比较广泛,社区支持强rocketMQ:阿里巴巴的消息队列,开源,但是商业版是收费的,除了java语言其他语言支持的都不好消息队列的主要作用1. 异步调用,延迟处理2. 应用解耦3. 处理高并发abbitMQ 安装rabbitMQ是使用erlang语言开发的,所以安装rabbitMQ时同时也要安装erlang语言(官网就可以下)都安装好后在安装文件夹sbin中打开命.

2022-02-18 17:20:42 1358

winfrom 爬取页图片,懒加载的图片也能获取

winfrom 爬取页图片源码,代码环境net 6, 仅供学习使用,仅需填写需要加载的网页地址,以及选择文件保存路径即可,如果网页存在懒加载数据,请勾选懒加载复选框,网页深度按照 n*100像素确定。例如网页高度为5000像素,深度就填写50 以此类推

2024-04-30

空空如也

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

TA关注的人

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