![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
.net
徐子骞
花有重开日,人无再少年
展开
-
关于Log4Net的使用
.net中的log4net日志组件配置文件原创 2023-02-07 10:54:41 · 136 阅读 · 0 评论 -
.net 创建多支持多平台的项目
创建多支持多平台的项目原创 2022-10-18 10:45:23 · 391 阅读 · 0 评论 -
VS的反编译
● 在使用系统库或者第三方库遇到问题,感觉自己写的没问题,怀疑源码有BUG,非要钻牛角尖。VS=>工具=>选项=>文本编辑器=>C#=>高级=>支持导航到反编译源=>√。例如:Datetime 原来这个类这么多代码量。● 求知欲旺盛,很想知道别人的代码怎么实现的。● 反编译工具安装难,源码定位难(主要是懒)然后就可以愉快的用F12跟踪到反编译的代码啦。原创 2022-10-18 10:14:40 · 2189 阅读 · 0 评论 -
.NET六大设计原则个人白话理解,有误请大神指正
六大设计原则原创 2022-06-30 14:26:50 · 119 阅读 · 0 评论 -
实现接口的访问次数限制--基于MemoryCache实现
主要用处: 对接口访问次数的限制 这里是利用缓存而不是利用限流中间件案例逻辑:1-访问过三次就不可访问了 否则访问次数加一次 并添加到缓存2- 如果缓存当前压根没有该key的缓存就默认为第一次访问,并添加到缓存代码如下: public class MemoryCacheController : Controller { public static MemoryCache _memoryCache=new MemoryCache(new MemoryCacheOpt原创 2022-04-26 16:15:49 · 840 阅读 · 0 评论 -
c#使用FluentEmail发送邮件
在实际的项目开发中,我们会遇到很多需要通过程序发送邮件的场景,今天给大家介绍一下FluentEmail, FluentEmail是一款在GitHub上开源免费的支持.Net和.Net Core邮件发送组件接下来我们就使用的SMTP的方式用FluentEmail发送邮件。1-使用Nuget安装FluentEmail包。2-写代码 /// <summary> /// 发送邮件 /// </summary> /// <re原创 2022-04-24 16:16:45 · 1634 阅读 · 0 评论 -
多线程-Parallel类的用法
一. Parallel.Invoke方法用于多个任务并行运行,该方法传递一个Action委托数组,没有确定遍历顺序。二.Parallel.For方法多次执行一个任务,前两个参数定义了循环的开头和结束 第三个参数是一个一个Action委托,没有确定遍历顺序三.Parallel.For以异步方式遍历。没有确定遍历顺序,ForEach的用法 第一个参数是需要遍历的数据 第二个是方法。示例如图:结果如图:...原创 2022-04-11 18:16:04 · 474 阅读 · 0 评论 -
webApi登录鉴权
1- 登录获取token /// <summary> /// 登录获取token /// </summary> /// <returns></returns> [HttpPost] [CustomAllowAnonymousAttribute]// 在全局注册的情况下 有这个标记就不去走校验方法 public string LoginGetToken(st原创 2022-03-31 00:26:51 · 1929 阅读 · 0 评论 -
.net中后端动态生成excel表格
需求是根据传过来的两个集合 动态生成excel表格模板 并下载以下面为例:先NuGet安装包代码: /// <summary> /// 下载批量导入模板window版本 /// </summary> /// <param name="inDto"></param> /// <returns></returns> [HttpPost("GetImportFile")] publi原创 2022-03-09 19:35:31 · 1079 阅读 · 1 评论 -
.net中的定时任务
FluentScheduler是什么?FluentScheduler是.net中的任务调度框架,也就是你如果想在.net程序跑一段代码,同时又不影响主程序的运行时 就可以使用FluentScheduler。能够实现任务高度的本质是多线程的功劳。众所周知代码的执行是有顺序的,并由主线程执行,每一行代码都会阻塞主线程,从这一点就能看出任务高度必是通过其他线程完成的。.net开发环境已经提供了一个实现方法Timer(定时器)。这里不用它。. FluentScheduler用法简便,首先用NuGet安装包原创 2022-03-08 10:55:26 · 3513 阅读 · 0 评论 -
EF Core 简单使用介绍 Database First和Code First
EF Core 简单使用介绍 EF Core 是一个ORM(对象关系映射),它使 .NET 开发人员可以使用 .NET对象操作数据库,避免了像ADO.NET访问数据库的代码,开发者只需要编写对象即可。 EF Core 支持多种数据库引擎: Microsoft SQL Sever SQLite Npgsql MySQL ......1.获取EF Core 通过NuGet获取要使用的数据库支持。比如:Microsoft SQL Sever转载 2021-11-22 17:59:02 · 978 阅读 · 0 评论 -
依赖注入:构造函数注入
构造函数注入:顾名思义,就是用构造函数的形式来实现注入SqlServerDal、Access类:数据库实现接口,具有了添加订单的功能using System;namespace Ioc2{class SqlServerDal:IDataAccess{public void Add(){Console.WriteLine(“在sqlserver数据库中添加一条订单”);}}}namespace Ioc2{class Access:IDataAccess{public voi转载 2021-11-22 17:48:19 · 705 阅读 · 0 评论 -
First方法,FirstOrDefault方法,Single方法,SingleOrDefault方法的区别
(1)First方法:返回List集合序列中的第一个符合条件的元素,如果没有查找到,则抛出运行时异常。(2)FirstOrDefault方法:返回List集合序列中的第一个符合条件的元素,如果没有查找到,则返回对应默认值,如引用类型对象的话则返回null。(3)Single方法:返回List集合序列中唯一记录,如果没有或返回多条记录,则引发异常。(4)SingleOrDefault方法:返回List集合序列中唯一记录,如果该序列为空,则返回默认值;如果该序列包含多个元素,则引发异常。...原创 2021-05-12 11:20:16 · 5700 阅读 · 0 评论 -
关于C# Path类
Path类提供静态方法,完成路径字符串的常见操作例如在C盘的文件夹a下的b文件夹下的1.mp3文件C:\a\b\1.mp3一.获取信息的方法:1.获得路径:Path.GetDirectoryName(路径); 结果:C:\a\b获得文件名:Path.GetFileName(路径); 结果:1.mp3获得没有后缀的文件名:Path.GetFileNameWithoutExtension(路径); 结果:1获得全路径:Path.GetFullName(相对路径);二:合并的原创 2021-03-02 13:30:30 · 169 阅读 · 0 评论 -
c#.net中的 find findAll select where方法
c#.net中的 find findAll select where方法原创 2020-09-18 11:53:38 · 2429 阅读 · 0 评论 -
什么叫做装箱和拆箱?一看就懂系列
有很多同学对与装箱和拆箱还是有点搞不太明白。首先讲一下概念:1.装箱指的是把值类型转化为引用类型2.拆箱当然指的就是把引用类型转化为值类型估计很多同学可能还分不清哪些是属于引用类型和值类型,这个就需要自己去强化记忆一下了.光说概念有的同学应该也是一头雾水,那我现在来简单的举例说明:object c =“1”; int d = (int)c首先我们要知道的是object类型属于引用类型,int 类型属于值类型(不知道的同 学自己抓紧背)这里呢就是把object类型(引用类型)的c强制转化为原创 2020-08-11 22:46:45 · 6795 阅读 · 9 评论