随笔分类 -  C#

C#语言开发技术
摘要:先看如下一个DEMO示例代码:(其中doBatchGet被子类重写了1次) public abstract class BaseDemoService<T> { public String batchGet(T... ints) { T one=ints[0]; System.out.println 阅读全文
posted @ 2023-03-09 23:39 梦在旅途 阅读(192) 评论(0) 推荐(0) 编辑
摘要:​ 最近因考虑接口安全问题,有实现给WEB API实现统一的参数鉴权功能,以防止请求参数被篡改或重复执行,参数鉴权方法基本与常见的鉴权思路相同,采用(timestamp+sign),而我为了防止timestamp被更改,sign算法(timestamp+相关参数排序、格式化后拼接再MD5)也因为在前 阅读全文
posted @ 2020-12-29 17:25 梦在旅途 阅读(1352) 评论(0) 推荐(0) 编辑
摘要:最近由于工作原因,一直忙于公司的各种项目(大部份都是基于spring cloud的微服务项目),故有一段时间没有与大家分享总结最近的技术研究成果的,其实最近我一直在不断的深入研究学习Spring、Spring Boot、Spring Cloud的各种框架原理,同时也随时关注着.NET CORE的发展 阅读全文
posted @ 2019-10-17 00:22 梦在旅途 阅读(3568) 评论(5) 推荐(3) 编辑
摘要:我(梦在旅途,http://zuowj.cnblogs.com; http://www.zuowenjun.cn)最近发表的一篇文章《 ".NET CORE与Spring Boot编写控制台程序应有的优雅姿势" 》看到都上48小时阅读排行榜(当然之前发表的文章也有哦!),说明关注.NET CORE及 阅读全文
posted @ 2019-07-13 19:00 梦在旅途 阅读(9378) 评论(6) 推荐(12) 编辑
摘要:本文分别说明.NET CORE与Spring Boot 编写控制台程序应有的“正确”方法,以便.NET程序员、JAVA程序员可以相互学习与加深了解,注意本文只介绍用法,不会刻意强调哪种语言或哪种框架写的控制台程序要好。 本文所说的编写控制台程序应有的“正确”方法,我把正确二字加上引号,因为没有绝对的 阅读全文
posted @ 2019-07-02 19:47 梦在旅途 阅读(2671) 评论(5) 推荐(11) 编辑
摘要:看文章标题就知道,本文的主题就是关于JSON,JSON转换器(JsonConverter)具有将C#定义的类源代码直接转换成对应的JSON字符串,以及将JSON字符串转换成对应的C#定义的类源代码,而JSON操作技巧则说明如何通过JPath来快速的定位JSON的属性节点从而达到灵活读写JSON目的。 阅读全文
posted @ 2019-06-15 19:13 梦在旅途 阅读(4377) 评论(5) 推荐(9) 编辑
摘要:对于EXCEL的导入、导出,我之前已分享过多次,比如: 第一种方案:《我写的一个ExcelHelper通用类,可用于读取或生成数据》这个主要是利用把EXCEL当成一个DB来进行获取数据,导出则是采用拼接成HTML TABLE的方式,这种在ASP.NET,ASP.NET CORE 中也是可以的,简单方 阅读全文
posted @ 2019-06-06 23:40 梦在旅途 阅读(1773) 评论(1) 推荐(1) 编辑
摘要:如题,自定义一个简单的数据模型验证器类(ModelValidator),目前只有提供基本的手动调用验证方法进行验证,并最终输出验证结果,待后续完善,增加基于特性的自动验证并输出验证结果的功能,代码实现比较简单,直接贴出源代码: 从代码可以看出,基本上只是提供了一些常见的逻辑验证方法而矣,并把验证的结 阅读全文
posted @ 2019-01-29 13:13 梦在旅途 阅读(724) 评论(0) 推荐(0) 编辑
摘要:之前有总结发表过《近期开发项目中用到的编码小技巧汇总说明》,虽没有涉及什么高大上的东西,但都是一些很实用的平时大家可能用到的知识,今天继续分享一些小技巧,欢迎大家了解,不足之处,可以直接评论留言谢谢! 接上篇序号 6.解决当同一个类在不同的项目中(命名空间不同,但类的定义完全相同的情况)使用Bina 阅读全文
posted @ 2018-11-02 20:55 梦在旅途 阅读(1114) 评论(0) 推荐(1) 编辑
摘要:基于Dapper二次封装了一个易用的ORM工具类:SqlDapperUtil,把日常能用到的各种CRUD都进行了简化封装,让普通程序员只需关注业务即可,因为非常简单,故直接贴源代码,大家若需使用可以直接复制到项目中,该SqlDapperUtil已广泛用于公司项目中。 ColumnAttributeT 阅读全文
posted @ 2018-09-01 17:49 梦在旅途 阅读(2777) 评论(12) 推荐(7) 编辑
摘要:有些场景下,需要隔离不同的DB,彼此DB之间不能互相访问,但实际的业务场景又需要从A DB访问B DB的情形,这时怎么办?我认为有如下常规的三种方案: 1.双方提供RESET API,需要访问不同DB数据时,可以通过API来获取指定数据; 这种方案优点是隔离性、定制性强,统一出入口,只能通过指定的A 阅读全文
posted @ 2018-08-14 14:09 梦在旅途 阅读(2665) 评论(0) 推荐(0) 编辑
摘要:一说到写日志,大家可能推荐一堆的开源日志框架,如:Log4Net、NLog,这些日志框架确实也不错,比较强大也比较灵活,但也正因为又强大又灵活,导致我们使用他们时需要引用一些DLL,同时还要学习各种用法及配置文件,这对于有些小工具、小程序、小网站来说,有点“杀鸡焉俺用牛刀”的感觉,而且如果对这些日志 阅读全文
posted @ 2018-06-14 16:07 梦在旅途 阅读(1644) 评论(3) 推荐(4) 编辑
摘要:因公司ELK监控分析日志的需要,需要区分进程运行状态日志以及错误日志,以便能够根据日志级别(level)进行不同策略的预警,而现有的Nlog、Log4Net都没有Process这样的level,故针对这两个日志框架做了一些扩展,实现了自定义PROCESS LEVEL,因代码不多,故直接贴代码,有疑问 阅读全文
posted @ 2018-06-06 20:59 梦在旅途 阅读(2736) 评论(0) 推荐(0) 编辑
摘要:一、本文产生原由: 之前文章《总结消息队列RabbitMQ的基本用法》已对RabbitMQ的安装、用法都做了详细说明,而本文主要是针对在高并发且单次从RabbitMQ中消费消息时,出现了连接数不足、连接响应较慢、RabbitMQ服务器崩溃等各种性能问题的解方案,之所以会出现我列举的这些问题,究基根源 阅读全文
posted @ 2018-04-21 15:39 梦在旅途 阅读(7091) 评论(8) 推荐(5) 编辑
摘要:封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,代码比较简单,主要是把MongoTarget的配置、FileTarget的配置集成到类中,同时利用缓存依赖来判断是否需要重新创建Logger类,完整代码如下: /// <summary> /// 日志工具类(基于NLog.Mo 阅读全文
posted @ 2018-03-24 20:55 梦在旅途 阅读(1240) 评论(1) 推荐(0) 编辑
摘要:支持:可指定绝对过期时间、滑动过期明间、文件依赖 三种缓存方式,目前已在公司各种生产业务项目中有使用。优点是可以根据数据的使用频率设置缓存有效期,特别是文件依赖缓存,比如:连接字符串读取一次后,若CONFIG文件没有改变,则缓存永久有效,一旦CONFIG更改,则缓存失效需重新读取,保证数据缓存的最大 阅读全文
posted @ 2018-02-11 11:33 梦在旅途 阅读(6195) 评论(3) 推荐(8) 编辑
摘要:之前文章:《两种读写配置文件的方案(app.config与web.config通用)》,现在重新整理一个更完善的版本,增加批量读写以及指定配置文件路径,代码如下: 阅读全文
posted @ 2018-01-27 18:06 梦在旅途 阅读(1025) 评论(1) 推荐(1) 编辑
摘要:近期工作中有使用到 MongoDb作为日志持久化对象,需要实现对MongoDb的增、删、改、查,但由于MongoDb的版本比较新,是2.4以上版本的,网上已有的一些MongoDb Helper类都是基于之前MongoDb旧的版本,无法适用于新版本的MongoDb,故我基于MongoDb官方C#驱动重 阅读全文
posted @ 2018-01-08 15:18 梦在旅途 阅读(2842) 评论(2) 推荐(1) 编辑
摘要:AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的中统一处理业务逻辑的一种技术,比较常见的场景是:日志记录,错误捕获、性能监控等 AOP的本质是通过代理对象来间接执行真实对象,在代理类中往往会添加装饰一些额外的业务代 阅读全文
posted @ 2017-09-10 20:46 梦在旅途 阅读(15078) 评论(8) 推荐(32) 编辑
摘要:之前为了便于人事部门招聘登录网站更简洁高效,免去每天频繁输网址、用户名、密码等相关登录信息,特基于winform+HttpWebRequest实现模拟请求登录,最终达到一键登录到招聘网站后台的效果。 要实现一键登录到各大人才招聘网站就必需先了解网站的登录步骤即原理,然后通过代码一步步模拟实现即可。 阅读全文
posted @ 2017-05-15 13:21 梦在旅途 阅读(3452) 评论(5) 推荐(7) 编辑