自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 winform车牌识别源码(纯算法)

本文将使用c#语言,winform框架开发一个车牌识别系统,不借助任何框架,纯算法。该源码对想研究车牌识别的开发还是挺有帮助的。

2024-04-16 19:44:02 330

原创 .Net Core-做一个微信公众号的排队系统

微信扫码登录,微信扫码获取排队信息这些场景很常见,但是大家知道里面的原理是怎么实现的呢?今天我就来给大家解惑!通过uuid获取到带参数的二维码,将uuid作为key存进redis缓存服务器里面通过uuid获取到带参数的二维码,将uuid作为key存进redis缓存服务器里面手机进行扫描二维码,然后手机携带uuid和用户信息向手机的服务器发送请求,手机服务器收到之后携带uuid去redis服务器查询用户。扫码登录:推送排队信息 查询用户成功之后调用模板消息,然后排队信息推送就成功了。为了简化流程,且由前端生成

2022-07-01 16:44:11 671 1

原创 用.Net Core接入微信公众号开发

最近想写一点基于.Net Core微信公众号开发的文章测试公众号申请地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login微信公众号开发文档:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html需要一台服务器进行到微信授权回调到线上的域名。但是对于没有服务器,或者初次接触微信公众号开发的同学们就有点不太友好,不方便本地调试。于是就

2022-06-29 15:56:06 977

原创 C#-Linq源码解析之Concat

假如我们有这样的两个集合,我们需要把两个集合进行连接! 不使用Linq大概会这样写! 使用Linq源码解析方法参数first 要连接的第一个序列。second 要连接的第二个序列。返回值IEnumerable< TSource > 一个包含两个输入序列的连接元素的 IEnumerable< T>。此方法通过使用延迟执行来实现,因为IEnumerable是延迟加载的,每次访问的时候才取值。所以我们在返回数据时需要使用yield所以我们可通过使用 foreach 语句

2022-06-21 16:40:16 1190

原创 C#-Linq源码解析之Average

假如我们有这样的一个集合 不使用linq我们要计算该集合的平均值,且不能使用linq,那么我们的计算平均值方法和下面这段代码应该没有多大的出入 使用linq源码解析方法参数source 元素的类型返回值double源码:将上述代码放到cheked块里面,就会使运行时引发System.OverflowException异常。这样就可以让你的运算更加准确,避免二进制的回绕。Enumerable.Average() 重载方法一共十多个,这里选择了最典型的一个讲解!

2022-06-21 16:34:46 574

原创 C#-基于quartzui的任务调度平台

闲来无事,逛逛github,看到了quartzui,这个怎么和我以前看到的GZY.Quartz.MUI 一个任务调度平台,如此相似!我也不好说,代码是否相似,感兴趣的可以去对比源码看看! 源码地址:https://github.com/zhaopeiym/quartzuiquartzui基于Quartz.NET3.0的定时任务Web可视化管理。基于.NET5.0和Quartz.NET3.2.4的任务调度Web界面管理。docker方式开箱即用内置SQLite持久化支持 RESTful风格接口业务代码零污染语

2022-06-12 11:31:02 759 1

原创 C#-Linq源码解析之Any

看这样一个例子,我们判断集合中是否存在元素当然flag都为false。我们现在给集合赋值只要有一个条件满足,当然就会返回true了参数source 元素的类型返回值bool该方法表示 只要有一个元素存在就返回True,否则返回false。IEnumerable修饰我们的源元素类型,那么我们就知道源元素是一个 可以获得循环访问集合的枚举器那么我们就可以使用GetEnumerator这个方法进行迭代了。然后我们在使用MoveNext方法,来遍历集合的元素!源码:第二个方法参数s

2022-06-12 11:30:14 280

原创 C#+Signalr+Vue实现B站视频自动回复评论,当一个最懒程序员!

前几天刷到了程序员鱼皮的自动回复视频评论的视频,于是我也想来试试!打开想要自动回复评论的视频url,打开调试模式!然后找到可以触发评论的网络请求可以看到我们的oid是可以唯一确定视频的id,那么这个oid是怎么获取的呢?于是我又一个一个接口的分析 于是找到了获取Oid的请求这个bvid不就是我们的视频的url吗?这样我们根据视频的url获取到bvid,然后根据bvid获取到我们的oid 这样我们的视频的评论数据就抓到了!那么由于视频的评论拿到了,那么我们怎么去实现自动回复呢?回复的内容是不是应该根据评

2022-06-10 10:08:43 965

原创 C#基于.Net-HtmlAgilityPack库的爬虫初体验

前几天有点空闲时间,在github上看一些.Net的开源库,看到了关于爬虫相关的库,于是加入了一个QQ群,看到里面各位大佬讨论的是爬的越好,进去越快,于是我自己也想做一个爬虫相关的东西,但是爬虫是个危险的东西,自己也不敢随便爬别人的网页,于是找到了一个朋友,拿他的网站来进行练习!对于.Net来说。爬虫相关的库还是蛮多的,于是我选择了HtmlAgilityPack来做一个爬虫练习!当然什么是爬虫呢?简而言之:学习一个框架,我们肯定是从它的官方文档开始, 地址:https://html-agility-pack

2022-06-09 15:47:12 1122

原创 微软AI插件Github Copilot初体验

上个月看到了一款插件 微软 GitHub AI 编程工具 Copilot于是就想尝尝鲜,但是GitHub Copilot是需要申请的,只有申请通过的才能使用这款插件。就在今天我收到审核通过的邮件。于是想看看这插件是不是像其它网友说的那样强!于是打开了我的VS,测试起来!首先我输入了冒泡排序的注释,但是没有代码补全,qtmd的什么神级AI插件,于是我自己写了一个 void sort()的方法,突然代码给我补全了,还是太年轻了,这果然是神级插件。然后我想看看这AI插件是否真的智能,又写下了从1加到100的注释,

2022-06-08 11:21:50 2333

原创 C#封装FluentValidation,用了之后通篇还是AbstractValidator,真的看不下去了

讲故事我们每验证一个对象,就要新建一个类型的验证器 ,如上的UserInformationValidator ,虽然这样写逻辑上没有任何问题,但我有洁癖哈,接下来我们试着封装一下,嘿嘿,用更少的代码做更多的事情。在创建任何验证器之前,您需要在项目中添加对 FluentValidation.dll 的引用。最简单的方法是使用 NuGet 包管理器或 dotnet CLI。将模板化的代码提取到父类中仔细看上面的代码你会发现,我们每新建一个验证器,就必须要创建一个继承自AbstractValidator的类

2022-06-07 13:49:13 451

原创 .NET Core中使用结果过滤器ResultFilter统一结果返回封装

介绍实现需要继承IResultFilter或者 IAsyncResultFilter。为了方便开发,简化代码,也为了与前端方便对接,需要对接口服务返回结果进行统一处理定义统一返回的结果类我们需要定义一个统一返回结果泛型类ApiResult​​​​​​​ public class ApiResult<T> { public int Code { get; set; } public string Message { get; s

2022-05-26 16:15:04 655

原创 .NET Core中异常过滤器ExceptionFilter的使用介绍

介绍实现需要继承IExceptionFilter 或 IAsyncExceptionFilter。可用于实现常见的错误处理策略。使用场景首先讲一下我们为什么要使用异常过滤器 ,如果业务场景复杂,只使用HttpStatusCode,抛出异常后,后期要加很多字段来描述。那么这种就比较不适合, 我们就可以自己定义一套规则, 比如返回结果必须是 code, data, Message等那我们就要写一个通用数据model。​​​​​​​publicclassApiResu...

2022-05-26 16:14:47 696

原创 C# Linq源码解析之Aggregate

前言在Dotnet开发过程中,Aggregate作为IEnumerable的扩展方法,十分常用。本文对Aggregate方法的关键源码进行简要分析,以方便大家日后更好的使用该方法。使用Aggregate是对序列应用累加器的函数。看下面一段代码:List<string>lst=newList<string>(){"张三","李四","王麻子"};给了我们这样的一个list集合,我们想要得到"张三 哈哈哈 李四 哈哈哈 王麻子 "...

2022-05-26 16:14:27 2026

原创 C# Linq源码解析之All

前言在Dotnet开发过程中,All作为IEnumerable的扩展方法,十分常用。本文对Aggregate方法的关键源码进行简要分析,以方便大家日后更好的使用该方法。使用确定序列中的所有元素是否都满足条件,如果都满足就返回true,如果有一个不满足就返回false有这样一段代码,我们判断集合中的元素的性别是否都为男,我们就可以使用linq中的all方法publicclassUserInforMation{publicstringUserNa...

2022-05-26 16:14:10 389

原创 .NET Core中行为过滤器ActionFilterAttribute的使用介绍

什么是行为过滤器?行为过滤器是你可以应用到一个控制器行为的,或者整个控制器的,来修改控制器行为的执行方式的属性。当请求进入 API 接口的时候,操作过滤器提供了一个进入之前(before)和进入之后(after)介入功能,可以使用该过滤器对进入 API 的参数和结果进行干预。行为过滤器使用场景我们请求该接口时必须带上固定的头才能请求 也可以使用行为过滤器。通常我们在这些场景下如身份验证、日志记录、异常获取等会使用到过滤器自定义一个Filter类:​​​​​​​

2022-05-11 19:16:57 719

原创 FluentValidation在C#中是怎么进行数据验证的

介绍FluentValidation 是一个基于 .NET 开发的验证框架,用于构建强类型验证规则的 .NET 库。开源免费支持 .Net所有平台 包括.NetFramework和.NetCore.FluentValidation 组件内提供十几种常用验证器,可扩展性好,支持自定义验证器,支持本地化多语言。安装在创建任何验证器之前,您需要在项目中添加对 FluentValidation.dll 的引用。最简单的方法是使用 NuGet 包管理器或 dotnet CLI。Framew

2022-05-11 19:16:29 516

原创 c#使用RRQMSocket实现tcp通信

介绍● TCP组件是基于TCP协议的最基础组件,其基础功能和Socket一致,只是经过RRQM封装后,将高连接、高并发,数据处理等一系列基础功能打包,让使用者不再关心基础架构建设,专心于业务。● 理论上TCP组件可用于任何基于TCP协议的产品,例如:HTTP、FTP、WebSocket、Telnet、PLC通信、上位机通信等。产品特点● 简单易用。● 多线程。● 内存池● 高性能(服务器每秒可接收200w条信息,接收数据流量可达2.5GB/s)● 多种数据接收模式(IOC

2022-05-11 19:15:02 443

原创 c#使用FluentFtp实现一行代码实现ftp上传下载等

一:简介FluentFTP 是一个完全托管的 .NET 和 .NET Standard 的 FTP 和 FTPS 库,针对速度进行了优化。它提供了广泛的 FTP 命令、文件上传/下载、SSL/TLS 连接、自动目录列表解析、文件哈希/校验和、文件权限/CHMOD、FTP 代理、FXP 传输、UTF-8 支持、异步/等待支持、Powershell 支持和更多的。它完全用 C# 编写,没有外部依赖项。FluentFTP 是在宽松的 MIT 许可证下发布的,因此它可以在专有和免费/开源应用程序中使

2022-05-11 19:14:21 619

原创 .NET Core 返回结果统一封装

本文使用.NET Core Webapi演示!一:新建.NetCore webapi项目为了方便开发,简化代码,也为了与前端方便对接,需要对接口服务返回结果进行统一处理。二:定义返回结果结构我们需要定义一个统一返回结果泛型类ApiResult​​​​​​​ public class ApiResult<T> { /// <summary> /// 错误代码 /// </summary&g

2022-05-11 19:13:15 1369

原创 .net core数据模型验证,且返回数据保持接口格式的一致性

前言 今天在.net Core中使用数据模型验证时,数据验证不通过时,返回的数据结构格式与前端定义的不同,为了解决返回数据保持接口格式的一致性,故写此篇文章。传统验证​​​​​​​ [HttpPost("TestInfo")] public async Task<AndroidApiResult<string>> TestInfo(TestInfo test) { await Task.Delay(0); .

2022-05-11 19:12:05 1019

原创 【中间件】c#/.net使用GZY.Quartz.MUI搭建可视化的定时任务面板

GZY.Quartz.MUI是在github上开源的aspnetcore项目, 它旨在帮助开发人员通过面板来设置定时任务,主要想做的就是:像swaggerUI一样,项目入侵量小,仅需要在Startup中注入的UI组件官方地址:https://www.cnblogs.com/GuZhenYin/p/15745002.html主要功能1.增加本地json持久化调度任务,无需数据库2.增加直接调用本地类方法,无需通过WebAPI接口.第一步打开VS新建.net项目我这里用的是.

2022-05-11 19:10:22 556

原创 【中间件】c#/.net使用LogDashbaord搭建可视化的日志面板

Logdashboard是在github上开源的aspnetcore项目, 它旨在帮助开发人员排查项目运行中出现错误时快速查看日志排查问题 官方地址:https://doc.logdashboard.net/主要功能日志聚合趋势图表最近十条日志授权访问自定义日志模型日志追踪堆栈查看第一步打开VS新建.net项目我这里用的是.net core webapi 进行演示(第二步 使用Nuget安装NLog.Web.AspNetCore包和 Lo...

2022-05-11 19:08:54 902

原创 【中间件】.net Core中使用HttpReports进行接口统计,分析, 可视化, 监控,追踪等

HttpReports 基于.Net Core 开发的APM监控系统,使用MIT开源协议,主要功能包括,统计, 分析, 可视化, 监控,追踪等,适合在微服务环境中使用。 官方地址:https://www.yuque.com/httpreports/docs/uyaiil主要功能接口调用指标分析多服务节点数据聚合分析慢请求,错误请求分析接口调用日志查询多类型预警监控HTTP,Grpc 调用分析...

2022-05-11 19:07:34 753

原创 【中间件】.net和.net Core中使用MiniProfiler进行性能分析

介绍作为一个开发人员,我们应该知道如何分析自己开发的Api性能么!MiniProfiler 是一个用于分析您的应用程序的库和 UI。通过让您查看您的时间花在哪里、运行了哪些查询以及您想要添加的任何其他自定义时间,MiniProfiler 可以帮助您调试问题并优化性能。MiniProfiler v4 在 .NET 4.6.1 及更高版本或 .NET Standard 1.5 及更高版本上运行。由于 v4 中添加了所有支持,因此需要 .NET 4.6.1+ async。如果您需要使用早于 ...

2022-05-11 19:06:58 770

原创 C# IEnumerator IEnumerable接口

​前言使用linq的时候大家应该都知道IEnumerable和IEnumerator接口!解释一下 IEnumerable 它利用 GetEnumerator() 返回 IEnumerator 集合访问器,声明实现该接口的class是“可枚举(enumerable)”的 通俗点说就是可进行迭代操作的类型。 IEnumerator解释:它是一个的集合访问器,使用foreach语句遍历集合或数组时,就是调用 Current、MoveNext()的结果。 例子今天给大家讲讲迭代器的

2022-04-27 19:32:20 1650

原创 C#/.Net 使用QuestPDF操作生成PDF更快更高效

​QuestPDFQuestPDF是一个开源的工具库,可以在.NET或者.Net Core中生成pdf文档它提供了一个布局引擎,设计时考虑到了完整的分页支持以及灵活性要求!比市面上常见的Aspose和iTextSharp好用太多了!GitHub地址安装Install-Package QuestPDF例子 简单例子 生成Pdf文档一共分为三部分,Header(页眉),Content(内容),Footer(页脚)Document.Create(containe

2022-04-23 00:05:44 1978

原创 c#使用FluentFtp实现一行代码实现ftp上传下载等

一:简介FluentFTP 是一个完全托管的 .NET 和 .NET Standard 的 FTP 和 FTPS 库,针对速度进行了优化。它提供了广泛的 FTP 命令、文件上传/下载、SSL/TLS 连接、自动目录列表解析、文件哈希/校验和、文件权限/CHMOD、FTP 代理、FXP 传输、UTF-8 支持、异步/等待支持、Powershell 支持和更多的。它完全用 C# 编写,没有外部依赖项。FluentFTP 是在宽松的 MIT 许可证下发布的,因此它可以在专有和免费/开源应用程序中使

2022-03-09 21:18:25 2721

原创 .NET Core 返回结果统一封装

.NET Core 返回结果统一封装

2022-03-08 20:26:52 963 1

原创 c#使用PdfiumViewer展示、打印pdf文档

1:简介PdfiumViewer 是一个 WinForms 控件,它承载一个 PdfRenderer 控件并添加一个工具栏来保存或打印 PDF 文件2:兼容性除了常规的win7 win10 也支持xp win83:对比Spire.Pdf和Adobe PDF ReaderSpire.Pdf收费且免费版只能打印三页的pdfAdobe PDF Reader每台电脑都必须要安装Adobe PDF 客户体验不太好PdfiumViewer开源且免费 预览打印文档内容无上限4:安装

2022-03-07 19:33:34 1438

原创 C#不要再使用Npoi啦,使用MiniExcel操作Excel文件更快更高效

C#不要再使用Npoi啦,使用MiniExcel操作Excel文件更快更高效!

2022-03-06 15:18:17 2825 5

原创 c#将PDF文件转成图片

前言:今日一同事给我说你获取到的pdf文件有点不符合我们现有软件流程,你能不能将我们pdf文件转成图片啊!说干就干,由于以前研究过一段时间pdf文件的相关组件,所以我在github上找到我以前star的仓库,PdfiumViewer 开源地址:https://github.com/pvginkel/PdfiumViewer首先我们打开Nuget安装PdfiumViewer和ImageResizer.Plugins.PdfiumRenderer.Pdfium.Dll。...

2021-07-26 20:12:41 516

原创 dotNet Core使用SignalR实现websocket

前言:最近有一个公司项目做一个排队叫号系统,系统功能不复杂,所以后端就我一人,难点在于消息推送到安卓屏上,最近有点时间,把我工作中使用的技术分享出来!整个技术架构:前端使用vue uniapp,后端使用dotNet core3.1,数据库是Sqlserver,ORM框架是SqlSuagar,中间件有log4net,Newtonsoft.Json,Microsoft.AspNet.SignalR.Core。当然我们在使用一个自己以前没使用的技术时都是先写一个demo,那...

2021-07-12 13:33:53 718 1

原创 Visual Studio扩展工具,英语差的人福音,快来集合了

虽然VS2019IDE功能已经非常强大了,但是在有些地方还是可以优化,或者说有更合适的插件可以让我们用着更舒服、更方便、更快捷,本着提高开发效率的目的,于是搜罗了一下适合自己平时使用的辅助工具在我们平时的开发过程中,英语差的经常面临怎么给方法命名,怎么命名合适等问题,那我今天就给大家安利一款Visual Studio扩展工具Translator。下面是具体使用方法一:直接在代码中使用我们直接输入中文右键点击Translate,它就会自动翻译出合适的语句出来(或者使用快捷键,Ctrl+

2021-07-09 16:57:47 2179 3

空空如也

空空如也

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

TA关注的人

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