上一页 1 2 3 4 5 6 7 8 9 ··· 44 下一页

2022年6月22日

在C#开发中使用第三方组件LambdaParser、DynamicExpresso、Z.Expressions,实现动态解析/求值字符串表达式

摘要: 在进行项目开发的时候,刚好需要用到对字符串表达式进行求值的处理场景,因此寻找了几个符合要求的第三方组件LambdaParser、DynamicExpresso、Z.Expressions,它们各自功能有所不同,不过基本上都能满足要求。它们都可以根据相关的参数进行字符串表达式的求值,本篇随笔介绍它们三者的使用代码,以及总结其中的一些经验。 阅读全文

posted @ 2022-06-22 11:13 伍华聪 阅读(3106) 评论(4) 推荐(14) 编辑

2022年6月14日

在Winform开发中,使用Async-Awati异步任务处理代替BackgroundWorker

摘要: 在Winform开发中有时候我们为了不影响主UI线程的处理,以前我们使用后台线程BackgroundWorker来处理一些任务操作,不过随着异步处理提供的便利性,我们可以使用Async-Awati异步任务处理替换原来的后台线程BackgroundWorker处理方式,更加的简洁明了。 阅读全文

posted @ 2022-06-14 15:24 伍华聪 阅读(3607) 评论(14) 推荐(17) 编辑

基于SqlSugar的开发框架循序渐进介绍(8)-- 在基类函数封装实现用户操作日志记录

摘要: 在我们对数据进行重要修改调整的时候,往往需要跟踪记录好用户操作日志。一般来说,如对重要表记录的插入、修改、删除都需要记录下来,由于用户操作日志会带来一定的额外消耗,因此我们通过配置的方式来决定记录那些业务数据的重要调整。本篇随笔介绍如何在基于SqlSugar的开发框架中,实现对用户操作日志记录的配置设置,以及根据配置信息自动实现用户操作日志记录。 阅读全文

posted @ 2022-06-14 08:57 伍华聪 阅读(1781) 评论(3) 推荐(6) 编辑

2022年6月13日

基于SqlSugar的开发框架循序渐进介绍(7)-- 在文件上传模块中采用选项模式【Options】处理常规上传和FTP文件上传

摘要: 在基于SqlSugar的开发框架的服务层中处理文件上传的时候,我们一般有两种处理方式,一种是常规的把文件存储在本地文件系统中,一种是通过FTP方式存储到指定的FTP服务器上。这种处理应该由程序进行配置,决定使用那种方式,那么这里面我们为了弹性化处理, 在文件上传模块中采用选项模式【Options】处理常规上传和FTP文件上传的配置参数信息。 阅读全文

posted @ 2022-06-13 12:12 伍华聪 阅读(1264) 评论(0) 推荐(4) 编辑

2022年5月24日

基于SqlSugar的开发框架循序渐进介绍(6)-- 在基类接口中注入用户身份信息接口

摘要: 在基于SqlSugar的开发框架中,我们设计了一些系统服务层的基类,在基类中会有很多涉及到相关的数据处理操作的,如果需要跟踪具体是那个用户进行操作的,那么就需要获得当前用户的身份信息,包括在Web API的控制器中也是一样,需要获得对应的用户身份信息,才能进行相关的身份鉴别和处理操作。本篇随笔介绍基于Principal的用户身份信息的存储和读取操作,以及在适用于Winform程序中的内存缓存的处理方式,从而通过在基类接口中注入用户身份信息接口方式,获得当前用户的详细身份信息。 阅读全文

posted @ 2022-05-24 17:04 伍华聪 阅读(1418) 评论(1) 推荐(3) 编辑

基于SqlSugar的开发框架循序渐进介绍(5)-- 在服务层使用接口注入方式实现IOC控制反转

摘要: 在前面随笔,我们介绍过这个基于SqlSugar的开发框架,我们区分Interface、Modal、Service三个目录来放置不同的内容,其中Modal是SqlSugar的映射实体,Interface是定义访问接口,Service是提供具体的数据操作实现。在Service层中,往往除了本身的一些增删改查等处理操作外,也需要涉及到相关业务的服务接口,这些服务接口我们通过利用.net 的接口注入方式,实现IOC控制反转的处理的。 阅读全文

posted @ 2022-05-24 10:50 伍华聪 阅读(1543) 评论(3) 推荐(2) 编辑

2022年5月17日

基于SqlSugar的开发框架循序渐进介绍(4)-- 在数据访问基类中对GUID主键进行自动赋值处理

摘要: 我们在设计数据库表的时候,往往为了方便,主键ID一般采用字符串类型或者GUID类型,这样对于数据库表记录的迁移非常方便,而且有时候可以在处理关联记录的时候,提前对应的ID值。但有时候进行数据记录插入的时候,往往忽略了对ID的赋值处理。为了便于使用或者允许自动赋值,我们可以在数据访问基类中对GUID主键进行自动赋值处理。 阅读全文

posted @ 2022-05-17 09:09 伍华聪 阅读(1462) 评论(1) 推荐(4) 编辑

2022年5月16日

基于SqlSugar的开发框架循序渐进介绍(3)-- 实现代码生成工具Database2Sharp的整合开发

摘要: 我喜欢在一个项目开发模式成熟的时候,使用代码生成工具Database2Sharp来配套相关的代码生成,对于我介绍的基于SqlSugar的开发框架,从整体架构确定下来后,我就着手为它们量身定做相关的代码开发,这样可以在后续整合项目功能的时候,利用代码生成工具快速的生成所需要模块的骨架代码,然后在这个基础上逐渐增加自定义的内容即可,方便快捷。本篇随笔介绍基于SqlSugar的开发框架,对框架中涉及到的各个分层或者模块代码进行生成的处理。 阅读全文

posted @ 2022-05-16 16:05 伍华聪 阅读(2218) 评论(1) 推荐(6) 编辑

基于SqlSugar的开发框架循序渐进介绍(2)-- 基于中间表的查询处理

摘要: 在前面介绍的SqlSugar的相关查询处理操作中,我们主要以单表的方式生成相关的实体类,并在查询的时候,对单表的字段进行条件的对比处理,从而返回对应的数据记录。本篇随笔介绍在一些外键或者中间表的处理中,如何遍历查询并获得所需的记录操作。 阅读全文

posted @ 2022-05-16 09:33 伍华聪 阅读(1954) 评论(0) 推荐(3) 编辑

2022年5月14日

基于SqlSugar的开发框架循序渐进介绍(1)--框架基础类的设计和使用

摘要: 在实际项目开发中,我们可能会碰到各种各样的项目环境,有些项目需要一个大而全的整体框架来支撑开发,有些中小项目这需要一些简单便捷的系统框架灵活开发。本系列随笔介绍底层利用SqlSugar来做ORM数据访问模块,设计一个简单便捷一点的框架,本篇从基础开始介绍一些框架内容。 阅读全文

posted @ 2022-05-14 13:11 伍华聪 阅读(4910) 评论(3) 推荐(10) 编辑

2022年4月29日

基于SqlSugar的数据库访问处理的封装,在.net6框架的Web API上开发应用

摘要: 我前面几篇随笔介绍了关于几篇关于SqlSugar的基础封装,已经可以直接应用在Winform项目开发上,并且基础接口也通过了单元测试,同时测试通过了一些Winform功能页面;本篇随笔继续深化应用开发,着手在在.net6框架的Web API上开发应用,也就是基于.net core的Web API应用开发,这样可以应用在不同的前端接入上。本篇随笔主要介绍基于.net6框架的Web API的相关整合开发内容,内容涉及到Swagger的整合支持、SeriLog的支持、JWT鉴权和用户身份信息缓存、自动注入接口对象、统一结果封装、统一异常处理等方面。 阅读全文

posted @ 2022-04-29 18:18 伍华聪 阅读(2487) 评论(2) 推荐(6) 编辑

基于SqlSugar的数据库访问处理的封装,支持.net FrameWork和.net core的项目调用

摘要: 由于我们有时候需要在基于.net framework的项目上使用(如Winform端应用),有时候有需要在.net core的项目上使用(如.net core的WebAPI),那么我们把基于SQLSugar的基础模块封装,编译为.net standard就很有必要,而且由于.net framework和.net core在配置文件上的差异,我们需要对基础配置信息进行不同环境的兼容处理,以便实现基础模块支持.net FrameWork和.net core的项目调用。 阅读全文

posted @ 2022-04-29 11:24 伍华聪 阅读(3643) 评论(0) 推荐(7) 编辑

2022年4月8日

在Vue3项目中使用pinia代替Vuex进行数据存储

摘要: pinia是一个vue的状态存储库,你可以使用它来存储、共享一些跨组件或者页面的数据,使用起来和vuex非常类似。pina相对Vuex来说,更好的ts支持和代码自动补全功能。本篇随笔介绍pinia的基础用法以及持久化存储的一些用法,供参考学习。 pinia在2019年11月开始时候是一个实验项目,目的就是重新设计一个与组合API匹配的vue状态存储。基本原则和原来还是一样的,pinia同时支持vue2和vue3,且不要求你必须使用Vue3的组合API。不管是使用vue2或者vue3,pinia的API是相同的,文档是基于vue3写的。 Pinia 是 Vuex4 的升级版,也就是 Vuex5; Pinia 极大的简化了Vuex的使用,是 Vue3的新的状态管理工具;Pinia 对 ts的支持更好,性能更优, 体积更小,无 mutations,可用于 Vue2 和 Vue3;Pinia支持Vue Devtools、 模块热更新和服务端渲染。 阅读全文

posted @ 2022-04-08 17:06 伍华聪 阅读(5313) 评论(0) 推荐(4) 编辑

2022年4月7日

基于Vue开发的门户网站展示和后台数据管理系统

摘要: 基于Vue的前端框架有很多,这几年随着前端技术的官方应用,总有是学不完的前端知识在等着我们,一个人的精力也是有限,不可能一一掌握,不过我们学习很大程度都会靠兴趣驱动,或者目标导向,最终是可以以点破面,逐步掌握各种前端知识的。本篇随笔主要以实际应用场景为例介绍一些Vue前端技术的拓展,供大家参考学习。 阅读全文

posted @ 2022-04-07 11:39 伍华聪 阅读(9050) 评论(8) 推荐(5) 编辑

2022年3月30日

如何快速开发基于Winform的应用系统

摘要: 在我们实际业务开发中,从头开发一个应用系统,不管是基于BS的前端项目,还是基于Winform的CS应用系统,都是由容易到复杂,逐步演化的一个开发过程,如果我们基于一定基础上,并配合一些配套的开发工具,那么这个应用系统的开发就会变得容易很多,毕竟现在每一个应用系统都是要求要五脏俱全的系统,不仅要长得漂亮,还要有内涵。对于一个基于CS模式的Winform应用系统,开发起来相对比较容易一些,依赖的东西的边界比较清晰一些,因此大多数可以使用独立、模块化的方式来开发系统。 阅读全文

posted @ 2022-03-30 15:44 伍华聪 阅读(4575) 评论(8) 推荐(9) 编辑

2022年3月25日

在各种开发项目中使用公用类库的扩展方法,通过上下文方式快速调用处理函数

摘要: 不管我们开发是基于Asp.net core 还是.net core,或者还是.net framework的相关应用,如果有一个比较全面的公用类库以及相关的扩展函数来支撑,我们开发项目上会节省很多相关的处理方法查询和封装。本篇随笔主要针对性的介绍基于一些对象进行扩展函数的封装带来的便利性进行说明,毕竟基于上下文的调用扩展函数,比不断地去自己去类库中查找那个方法合适,会更高效一些。 阅读全文

posted @ 2022-03-25 11:20 伍华聪 阅读(1207) 评论(0) 推荐(4) 编辑

2022年3月23日

依图语音API的C#封装以及调用进行语音转写的处理

摘要: 对于语音识别,一般有实时语音识别和语音文件的识别处理等方式,如在会议、培训等场景中,可以对录制的文件进行文字的转录,对于转录文字的成功率来说,如果能够转换90%以上的正确语音内容,肯定能减轻很多相关语音文本编辑的繁琐工作,而目前大多数语音转录的接口基本都能够保证在这个成功率上,有些甚至超过98%以上,非常不错,因为他们对于各种场景的滤波,可以更加提供文字的准确性。本篇随笔对各种语音开发平台做一个介绍,并针对依图语音API的C#封装以及调用进行语音转写进行介绍。 阅读全文

posted @ 2022-03-23 09:42 伍华聪 阅读(1210) 评论(0) 推荐(1) 编辑

2022年3月22日

在基于ABP框架的前端项目Vue&Element项目中采用电子签名的处理

摘要: 在前面随笔介绍了《在基于ABP框架的前端项目Vue&Element项目中采用电子签章处理文件和打印处理》的处理,有的时候,我们在流程中或者一些文件签署的时候,需要签上自己的大名,一般通过签名表的方式(银行很常见)实现电子签名的处理。本篇随笔介绍如何基于Vue &Element前端的技术实现电子签名的处理。 阅读全文

posted @ 2022-03-22 09:19 伍华聪 阅读(1689) 评论(3) 推荐(1) 编辑

2022年3月21日

在基于ABP框架的前端项目Vue&Element项目中采用电子签章处理文件和打印处理

摘要: 在一些内部OA或者流转的文件,或者给一些客户的报价文件、合同,或者一些医院出示的给保险机构的病历资料等,有时候可能都希望快速的使用电子签章的处理方式来给文件盖上特定的印章,本篇随笔介绍基于Vue&Element的前端项目采用第三方组件vue-drag-resize和图片转换Base64的方式实现图片印章的盖章处理。 阅读全文

posted @ 2022-03-21 11:11 伍华聪 阅读(1580) 评论(0) 推荐(2) 编辑

2022年3月17日

在基于ABP框架的前端项目Vue&Element项目中采用日期格式处理,对比Moment.js和day.js的处理

摘要: Day.js 是一个轻量的处理时间和日期的 JavaScript 库,和 Moment.js 的 API 设计保持完全一样. 如果您曾经用过 Moment.js, 那么您已经知道如何使用 Day.js。简单地说,只要你会Moment.js,那么你就会Day.js! 但是我们知道的,Moment.js 的大小是200多KB,而Day.js的大小却是2 KB,瘦身很多但却几乎拥有同样强大的 API。 阅读全文

posted @ 2022-03-17 09:29 伍华聪 阅读(1989) 评论(1) 推荐(5) 编辑

上一页 1 2 3 4 5 6 7 8 9 ··· 44 下一页

导航