草庐IT

C# 通用 HTTP 签名组件的另类实现

1、初衷开发中经常需要做一些接口的签名生成和校验工作,最开始的时候都是每个接口去按照约定单独实现,久而久之就变的非常难维护,因此就琢磨怎么能够写了一个比较通用的签名生成工具。2、思路采用链式调用的方式,使得签名的步骤可以动态拼凑组合。3、直接看效果//设置数据源varsignSource=newDictionary(){{"param1","1"},{"param3","3+"},{"param2","2"}};varsigner=newHttpSigner();signer.SetSignData(signSource);//设置数据源并配置规则signer.SetSignData(sign

C# 简单实现线程池

NET6环境开发 实现线程数量,任务队列,非核心线程,及核心线程活跃时间的管理。namespaceCustomThreadPool;//////线程池类///publicclassThreadPoolExecutor{//////核心线程的任务队列///privatereadonlyQueuetasks=newQueue();//////最大核心线程数///privateintcoreThreadCount;//////最大非核心线程数///privateintnoneCoreThreadCount;//////当前运行的核心线程的数量///privateintrunCoreThreadCou

C# 简单实现线程池

NET6环境开发 实现线程数量,任务队列,非核心线程,及核心线程活跃时间的管理。namespaceCustomThreadPool;//////线程池类///publicclassThreadPoolExecutor{//////核心线程的任务队列///privatereadonlyQueuetasks=newQueue();//////最大核心线程数///privateintcoreThreadCount;//////最大非核心线程数///privateintnoneCoreThreadCount;//////当前运行的核心线程的数量///privateintrunCoreThreadCou

.NET 6 实现滑动验证码(二)、基本数据

上一节,介绍了滑动验证码的基本情况,也创建了一个.NET6的工程。本节内容是创建一些基础类。目录CaptchaData.csCaptchaValidateData.csImageCaptchaInfo.csResource.csSliderImageCaptchaInfo.csSlideTrack.csTemplatePair.csTrack.cs本节创建的类全部在工程的Model目录下:CaptchaData.csCaptchaData.cs:验证码的数据类实体namespaceSlideCaptcha.Model{publicclassCaptchaData{//////id///publ

.NET 6 实现滑动验证码(二)、基本数据

上一节,介绍了滑动验证码的基本情况,也创建了一个.NET6的工程。本节内容是创建一些基础类。目录CaptchaData.csCaptchaValidateData.csImageCaptchaInfo.csResource.csSliderImageCaptchaInfo.csSlideTrack.csTemplatePair.csTrack.cs本节创建的类全部在工程的Model目录下:CaptchaData.csCaptchaData.cs:验证码的数据类实体namespaceSlideCaptcha.Model{publicclassCaptchaData{//////id///publ

NET 6 实现滑动验证码(三)、接口

题外话,有网友说,这玩意根本很容易破解,确实是这样。但验证码这东西,就跟锁子很类似,防君子不防小人。验证码的发明其实是社会文明的退步。因为它阻碍了真正的使用者,却无法阻挡别有用心的人。但又有什么办法呢?上一篇文章添加了一些基本类,本篇内容主要目的是创建一些接口类上一节内容:NET6实现滑动验证码(二)、基本数据目录ValidateResult.csICaptcha.csIResourceHandler.csIResourceHandlerManager.csIResourceManager.csIResourceProvider.csISliderCaptchaImageGenerator.c

NET 6 实现滑动验证码(三)、接口

题外话,有网友说,这玩意根本很容易破解,确实是这样。但验证码这东西,就跟锁子很类似,防君子不防小人。验证码的发明其实是社会文明的退步。因为它阻碍了真正的使用者,却无法阻挡别有用心的人。但又有什么办法呢?上一篇文章添加了一些基本类,本篇内容主要目的是创建一些接口类上一节内容:NET6实现滑动验证码(二)、基本数据目录ValidateResult.csICaptcha.csIResourceHandler.csIResourceHandlerManager.csIResourceManager.csIResourceProvider.csISliderCaptchaImageGenerator.c

.NET 6 实现滑动验证码(五)、验证码设置与缓存

这一节,我们在Constant目录中,定义两个类CaptchaOptions.cs与CaptchaTypeConstant。目的是设置验证码的类型与其他一些属性。然后在Storage目录中,设置验证码的缓存数据。上一节内容:.NET6实现滑动验证码(四)、扩展类目录CaptchaOptions.csCaptchaTypeConstant.csDefaultStorage.csCaptchaOptions.cs在Constant文件夹下新建立CaptchaOptions.cs。定义验证码过期时间、缓存key值、容错值等。usingSlideCaptcha.Model;usingSystem.Co

快速集成快递物流轨迹查询功能

前沿近年来,随着互联网的发展,各个行业都在用新的技术、新的观念为自己的发展打下坚实的基础,如今网络已经渗透到了人们的日常生活中,网上购物成了大家喜爱的方式。各类商城、APP、小程序等应用不断涌现,涉及各行各业,都在争抢成为人们网上购物的载体。网上购物物流是必不可少的一环,这些应用是如何解决物流信息系统化的,让消费者方便快捷的了解物品的实时轨迹信息和系统内部流程无阻碍自动流转?我认为有两种途径可达成,第一种是自建物流体系,逐个跟物流公司对接,设计符合自身的产品解决问题,这种方案的优点是灵活性非常高,高度契合公司系统,缺点也很明显,每家公司接口标准都不一样,需要懂物流的人抽象设计,接入难度大、耗时

C#实现HTTP访问类HttpHelper

在项目开发过程中,我们经常会访问第三方接口,如我们需要接入的第三方接口是WebAPI,这时候我们就需要使用HttpHelper调用远程接口了。示例中的HttpHelper类使用Log4Net记录了每次调用的请求内容和响应内容的日志,并且每条日志都带上了链路ID和标识,这样方便我们在排查问题时能快速的找到当时的请求和响应内容,进而定位分析问题。大家在使用的时候如不需要记录日志,删除掉即可。HttpHelper类代码如下:publicclassHttpHelper:IDisposable{privatebool_disposable=false;//////请求编码格式默认utf-8;///pub