.NET技术
文章平均质量分 71
分享.NET框架以及C#相关知识点,技术总结。
李公子lm
宝剑锋从磨砺出,梅花香自苦寒来。
展开
-
C#读写锁与并发控制
我们在使用一些资源的时候,有些资源可能是临界资源,就是同一时刻只能允许一个进程进行访问,比如打印机,或者文件的一些写入操作。原创 2024-09-06 21:00:00 · 321 阅读 · 0 评论 -
.net core 管理用户机密
书接上文,链接我们自定义了一个配置系统,可以读取文件,一般情况下这个文件是需要上传到版本管理工具里的,可以是自建的gitlab,还可以上传到github或者gitee。那么问题就来了,有些配置文件比较机密,比如存放了一些数据库地址,用户名密码亦或是第三方服务的密钥等,而这些东西不希望上传到别的地方。我只想本地使用。那么如何最简单的实现这个需求呢?原创 2024-09-05 21:00:00 · 1266 阅读 · 0 评论 -
.net core 自定义配置系统
今天来简单写一个自定义的配置系统,能自己手写一些稍微底层的东西,对之后的使用和学习都有帮助。原创 2024-09-04 21:00:00 · 947 阅读 · 0 评论 -
asp.net core web api项目添加自定义中间件
在asp.net core web api项目中,默认提供了很多的中间件,比如访问静态文件中间件,跨域配置中间件UseCors,路由中间件UseRouting,身份验证中间件。那么如何添加一些自定义的中间件呢。原创 2024-09-03 19:00:00 · 625 阅读 · 0 评论 -
尝试自己实现Linq的Count,Where,Select方法。
今天我们来自己尝试实现一下Linq类库中的一些常用的CountWhereSelect方法。通过自己实现这些常用的基础功能,可以加深我们对委托,泛型,以及扩展方法的理解。正式开始之前呢,还是先简单说一下关于委托泛型以及扩展方法的一些知识。原创 2024-08-29 13:58:23 · 835 阅读 · 0 评论 -
C# 创建WebService接口并连接
C# 创建WebService接口并连接原创 2022-12-16 18:45:00 · 2845 阅读 · 1 评论 -
C# 接口中DateTime类型字段返回年月日格式,去掉时分秒的数据
在我们平时写接口的时候,避免不了这样一个问题,数据库中存的字段类型为,代码中对应的实体类也是类型的字段,于是在读取数据库内容之后返回的数据也是类型的值,比如,但是对于服务器请求者来说,他们可能只需要显示年月日即可,后面的时分秒是不需要的,如果能说服他们,不用修改我们的代码,当日最好。那么对于我们服务提供者来说,如何处理这类问题呢?可以直接把返回的实体类中的修改为string,格式就可以自定义了,但是缺点也很明显,采用类和类,通过给属性加特性类的方式进行修改。实现的简要步骤如下。这里我新建个一个的项目,来原创 2022-10-24 10:57:26 · 4138 阅读 · 0 评论 -
C#特性(Attribute)讲解
1.特性的介绍与使用特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的。特性的使用方法很简单,只需要写在方法,类,枚举,字段等程序体的上面用[]括起来即可,如下。 [Route("api/[controller]/[action]")] [ApiController] public class TestC原创 2022-01-07 16:43:55 · 9911 阅读 · 0 评论 -
.NET Nlog使用讲解
准备项目.Net项目中关于日志的组件还是很多的,包括log4net,Nlog,以及.net core 框架自带的Logging,今天就简单介绍一下Nlog。首先准备一个demo项目,我这里新建的是一个基于.net6的web项目,文件目录如下。Nlog.config文件是自己添加的,里面内容稍后再说。接着添加Nlog的nuget包。名称版本如下,由于是.NET Web项目,所以没必要下载全部的Nlog包,下载对应的Nlog.Web.AspNetCore即可,当然下载第一个也是可以的,按需引入。接原创 2022-01-06 15:02:51 · 6878 阅读 · 0 评论 -
C#反射的简单应用
使用场景假如我们需要做这样一个功能,用户可以修改一个列表里的信息,但是系统里需要记录用户修改了哪一条记录的哪几个字段,把改变的的字段之前的旧的数据保留下来,方便用户可以追溯数据,就好像QQ可以查看历史头像一样,User表需要更新,但是同时需要在UserHistory表里把旧的记录保存起来,我们可以怎么做呢?这里我们把问题简单梳理下,每一条记录可以抽象为一个实体UserDto,用户修改之后提交的也抽象为UserDto,那就变成了比较同一个实体的不同属性的值了。那就简单了,上代码。 public st原创 2021-06-02 13:53:34 · 2592 阅读 · 0 评论 -
C#把文字放到图片上
做小程序时遇到一个问题,用户在分享内容的时候,我需要生成一张带有内容的图片,那么如何把文字放到图片上,并生成一张新的图片呢?先看效果图。这是背景图接下来上代码。 /// <summary> /// 字符串放到图片上 /// </summary> /// <param name="text"></param> public static string AddStringToImg(str原创 2021-05-21 09:22:34 · 4179 阅读 · 4 评论 -
.Net Core MVC中通过URL访问根目录下的静态资源
事出有因在使用layui的layedit富文本框时遇到一个问题,都知道在富文本框中是可以添加图片的,类似下面这样。layedit的使用就不过多说明了,如果需要使用图片上传的功能需要进行以下配置。layedit.set({ uploadImage: { url: '' //接口url ,type: '' //默认post }});//注意:layedit.set 一定要放在 build 前面,否则配置全局接口将无效。layedit.build('demo'); //建立编原创 2021-04-20 15:19:52 · 2271 阅读 · 1 评论 -
这些C#新功能,让你的C#代码更加简洁优雅。
C#8.0 和9.0已经更新了一段时间了,里面新增了一些功能,可以让你的C#代码更加优雅,目前.NET “.NET Core 3.x”和“.NET Standard 2.1”支持 C# 8.0,.NET5 支持C#9.0,所以引用的SDK没有不是这些版本的话,代码可能会报错的哦。switch 表达式在这里插入代码片...原创 2021-01-10 15:27:32 · 955 阅读 · 0 评论 -
ef core连接Oracle数据库
好久没写博客了,今天研究了下EF core连接Oracle,踩了几个坑,现在总结一下。首先新建个应用程序,我这就就选择Asp.net core web 应用程序了。然后输入项目名称,选择模板就好了,不过多说明。这里就是创建好的项目文件结构。然后开始安装相关的包,选择工具 --> NuGet包管理器-->管理解决方案的NuGet程序包 搜索Oracle选择Oracle.EntityFrameworkWorkCore接着新建个文件夹,用来存放数据库上下文,和数据库表相关的类。如下图原创 2020-12-21 09:38:33 · 6425 阅读 · 5 评论 -
.net core生成PDF文件,iTextSharp使用
今天介绍一个可以生成PDF的类库 iTextSharp,首先可以在Nuget包管理器中找到。然后在命名空间引用下。using iTextSharp.text;using iTextSharp.text.pdf;接下来看一个导出的pdf文件的效果吧。这里导出到内容比较简单。就一个表格。没有设计到图片图表什么的,需要的同学可自行研究。然后就是代码。文章中关键地方都写了注释,应该好理解。using iTextSharp.text;using iTextSharp.text.pdf;usin原创 2020-10-24 23:04:45 · 7784 阅读 · 7 评论 -
C#结合ListView连接PostgreSQL实现增删改查
1、前言平时使用最多的就的数据库软件就是SQL Server 和MySQL,但是Sql Server用的一直都是破解版,哈哈,自己使用还好,商用的话,总感觉不太合适,所以,自己抽空研究了下PostgreSQL数据库,写了个小demo,可以实现数据库的连接和增删改查。2、PostgreSQL简介PostgreSQL是一个功能强大的开源对象关系数据库系统,经过30多年的积极开发,在可靠性,...原创 2018-10-27 14:50:00 · 1440 阅读 · 0 评论 -
File类的简单操作
1.简介File类,是一个静态类,主要用来对文件进行各种操作,创建文件,删除文件,设置文件模式等。使用时需要引入System.IO 命名空间。2.File的各种操作。我是有用VS2017新建的一个WPF应用程序。先来看下页面。image.png接着是代码。using System;using System.Collections.Generic;...原创 2018-10-20 09:45:00 · 135 阅读 · 0 评论 -
C#导出Word
1、C#导出Word导出word的类库很多,npoi,spire等 ,今天主要是介绍spire的用法。首先在VS中打开NuGet解决方案找到Spire并安装到项目中。我这里是选择了Spire Doc ,你也可以根据需要安装别的库。image.png然后就可以写代码了。 private void button1_Click(object sender, Event...原创 2018-09-15 11:21:00 · 2267 阅读 · 0 评论 -
写参数化查询语句防止SQL注入
1.什么是SQL注入,为什么要防止SQL注入SQL注入是通过用户提交的数据,拼装成了恶意的数据库执行语句,从而对服务器端造成安全问题的一个漏洞。举个例子,比如在登录页面,正常的情况下,比如我账号输入 zhangsan 密码输入 147258,然后点击登录,服务器端执行的SQL语句可能是。select ID,UserName,Account from Users where Account...原创 2018-09-15 10:41:00 · 2219 阅读 · 0 评论 -
C#导入Excel
1.序言这篇文章就是交大家如何用C#向数据库中导入excel文件中的内容,先说了一下我们需要用到的工具或者代码,这次我们用layui的前端上传控件,想要导入excel文件,首先要能上传文件到后台,然后用npoi读取excel文件,好了,开始项目实战。2.新建一个web项目首先我们先要新建一个web项目,我这里就选择MVC了,然后我就打算在页面上放一个按钮。别的暂时不需要。...原创 2018-07-26 18:33:00 · 944 阅读 · 4 评论 -
C#导出Excel
这篇文章就教大家如何简单的用C#导出一个Excel文件,导出的功能在平时的项目开发过程中还是非常实用的。首先我们先新建一个项目,我用的开发软件是VS2017,1.新建一个测试项目并引入npoi我是新建一个WPF的窗体应用程序,image.png建好项目之后,拖一个button过来。我们页面上只需要一个button就行,别的暂不需要,image.png...原创 2018-06-28 15:47:00 · 613 阅读 · 1 评论 -
用SignalR和Layui搭建自己的web聊天网站
1.开发背景之前是做项目一直有一个困扰,就是如何进行及时通讯,本人.Net开发,不太想用别人的接口,然后偶然的机会知道了SignalR,那么什么是SignalR呢?2.SignalR简介ASP.NET SignalR是ASP.NET开发人员的库,它简化了向应用程序添加实时Web功能的过程。实时Web功能是指服务器代码在连接的客户端可用时立即将内容推送到连接的客户端,而不是让服务器等待客...原创 2018-10-22 10:41:00 · 965 阅读 · 4 评论 -
C#值类型和引用类型讲解
1.什么是值类型和引用类型值类型:直接存储其值,赋值的的时候是传递拷贝。引用类型:存储对其值的引用,赋值的时候是传递引用。那么值类型和引用类型都有那些呢?值类型:byte,short,int,long,float,double,decimal,char,bool ,datetime。引用类型: string ,class注:这里简单说一下string,string是引用类型,但...原创 2018-11-17 11:18:00 · 288 阅读 · 0 评论