/* github */

随笔分类 -  .Net

1 2 下一页
.Net对接阿里云短信平台
摘要:一、在对接阿里云短信平台之前需完成阿里云短信平台短信签名和短信模板的配置,在此不做过多说明,建议采用企业账号的身份申请短信签名和短信模板更容易审核通过一些 阿里云短信平台地址 https://www.aliyun.com/product/sms?spm=5176.19720258.J_2686872 阅读全文
posted @ 2021-06-15 00:35 王精灵 阅读(951) 评论(0) 推荐(0)
多线程系列(三)之线程池
摘要:什么是线程池? .NetFramework1.0时代的Thread,API功能繁多,对线程的数量是没有管控的,在.NetFramework2.0时代推出了ThreadPool,如果某个对象创建和销毁代价比较高,同时这个对象还可以反复使这些线程,就需要使用线程池,线程池可以保存多个线程对象,需要使用线 阅读全文
posted @ 2020-08-24 11:37 王精灵 阅读(363) 评论(0) 推荐(0)
多线程系列(二)之Thread类
摘要:在上一遍文章中讲到多线程基础,在此篇文章中我们来学习C#里面Thread类。Thread类是在.net framework1.0版本中推出的API。如果对线程的概念还不太清楚的小伙伴请阅读我的上一遍文章:多线程系列(一),多线程基础 在本篇文章中新开启一个线程来异步调用的方法代码为: private 阅读全文
posted @ 2020-08-21 17:27 王精灵 阅读(495) 评论(0) 推荐(0)
多线程系列(一)之多线程基础
摘要:线程相关概念 在学习多线程之前,先来了解下几个与多线程相关的概念。 进程:进程是计算机的概念,程序在服务器运行时占据全部计算资源的总和,一个应用程序运行起来就是一个进程,打开windows的任务管理器,如下图 线程:线程也是计算机的概念,线程是进程的最小单位,也是程序在响应操作系统时的最小单位,一个 阅读全文
posted @ 2020-08-20 15:54 王精灵 阅读(928) 评论(0) 推荐(0)
开源后端数据校验插件Validate.Net,类似Validate.js
摘要:Validate.Net将Validate.js移植到.Net平台,可以更方便、更快捷的校验实体内属性值是否合法。内置多种常规数据校验规则(校验必填、校验字符串长度区间、校验最大最小值、校验值区间、校验最大最小长度、校验长度区间、Email、邮编、url、正整数、负整数、非正整数、非负整数、ip地址、qq、身份证号码、统一社会信用代码),支持自定义正则校验、方法重写等扩展校验。是做后端开发的必备利器。 阅读全文
posted @ 2020-08-02 10:32 王精灵 阅读(705) 评论(5) 推荐(4)
C#标准事件流
摘要:服装价格变动,触发淘宝发布活动和消费者购买衣服事件流 1 public class EventStandard 2 { 3 public class Clothes { 4 5 /// <summary> 6 /// 服装编码 7 /// </summary> 8 public string Id 阅读全文
posted @ 2020-07-23 00:17 王精灵 阅读(581) 评论(0) 推荐(2)
C#委托和事件实现观察者模式
摘要:需求背景 猫叫触发一系列的动作或者说触发一系列事件,猫叫导致狗叫,小孩哭,Mom跑。 代码结构申明 1 /// <summary> 2 /// 接口类 3 /// </summary> 4 public interface IObeject 5 { 6 /// <summary> 7 /// 提供该 阅读全文
posted @ 2020-07-21 00:01 王精灵 阅读(922) 评论(1) 推荐(1)
C#委托的价值,结合业务场景分析
摘要:1、业务背景 技术为业务而生,技术为解决业务问题而存在,技术脱离业务就变得没有价值,我们在探讨某一个技术带来的价值时,都需要有一定的业务背景作为前提。我们先来看如下需求背景: 定义一个学生类,属性包含学生姓名、学号、年龄、创建时间,行为包含学生可以使用正确的方式对不同国家的人打招呼,如对中国人打招呼 阅读全文
posted @ 2020-07-19 19:41 王精灵 阅读(1031) 评论(0) 推荐(1)
System.Web.NullPointerException
摘要:System.Web.NullPointerException、HttpContext.Current.Request空指针异常(NullPointerException)HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]空指针异常(NullPointerException)、异步webApi空指针异常。 阅读全文
posted @ 2019-06-20 15:50 王精灵 阅读(268) 评论(0) 推荐(0)
手写ORM入门篇(一)
摘要:对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换 。从效果上说,它其实是创建了一个可在编程语言里使用的--“虚拟对象数据库”。 面向对象是从软件工程基本 阅读全文
posted @ 2019-06-15 20:21 王精灵 阅读(1305) 评论(0) 推荐(0)
10分钟教你理解反射
摘要:什么是反射? 反射反射,程序员的快乐!在.Net领域程序设计中,反射是无处不在的,MVC、ASP.Net、各种ORM、IOC、AOP几乎所有的框架都离不开反射。反编译工具使用的底层技术用的不是反射,是一种逆向工程。 反射(Reflection、System.Reflection),是.Net Fra 阅读全文
posted @ 2019-06-10 23:54 王精灵 阅读(1641) 评论(4) 推荐(2)
泛型的原理、应用、约束、缓存
摘要:什么是泛型 泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。泛型类是引用类型,是堆对象,主要是引入了类型参数 阅读全文
posted @ 2019-06-02 02:40 王精灵 阅读(497) 评论(0) 推荐(0)
C#中Unity对象的注册方式与生命周期解析
摘要:C#中Unity对象的注册方式与生命周期解析 阅读全文
posted @ 2019-06-01 01:38 王精灵 阅读(643) 评论(0) 推荐(0)
监听EF执行的sql语句及状态
摘要:1、监听EF执行sql的方式 db.Database.Log += c => Console.WriteLine($"sql:{c}"); SQL Server Profiler public JDDbContext() : base("name=JDDbContext") { this.Datab 阅读全文
posted @ 2019-05-30 00:33 王精灵 阅读(721) 评论(0) 推荐(0)
递归一个List<T>,可自己根据需要改造为通用型。
摘要:递归方法 1 public class ProvinceOrg : ICloneable 2 { 3 public int orgId { get; set; } 4 public int parentOrgId { get; set; } 5 public int areaId { get; se 阅读全文
posted @ 2019-04-13 16:24 王精灵 阅读(1021) 评论(3) 推荐(1)
Lambda表达式之查询篇
摘要:一般查询 1 db.User.Select(u => u); // 不带条件查询 2 3 db.User.Where(u => true); //不带条件查询 4 5 db.User.Where(u => u.username == "wjl" || u.username == "hyf"); // 阅读全文
posted @ 2018-08-16 23:50 王精灵 阅读(11151) 评论(0) 推荐(0)
C++项目中采用CLR的方式调用C#编写的dll
摘要:1、注意事项:在编写C#DLL类库时,最好不要出现相同的命名空间,否则在C++中调用可能会出现编译错误。2、将C#的源码生成的“dll”文件复制到C++项目中的Debug目录下3、将C++项目属性设置为公共语言运行时支持4、在项目中导入dll文件和引用命名空间 5、实例化C#对象:CL ^cl = 阅读全文
posted @ 2018-05-17 11:35 王精灵 阅读(3731) 评论(1) 推荐(0)
.Net—反射
摘要:在学习反射之前,先来理解以下几个概念。 什么是程序集? 程序集是.net中的概念。.Net中的dll文件与exe文件都是程序集。(exe与dll的区别?)exe文件是可执行文件,有执行入口。可直接运行。而dll不可以直接运行,可供其它程序调用。程序集(Assembly)可以看做是一堆相关类打一个包, 阅读全文
posted @ 2018-04-26 00:39 王精灵 阅读(335) 评论(0) 推荐(0)
winform中使用委托进行窗体之间的传值
摘要:一、传统的方式 创建一个公共数据资源类,用于存储窗体2的TextBox的值: 窗体1的代码: 窗体2的代码: 这种方式通过使用timer,消耗资源。 二、使用委托传值,将form1为lable2赋值的方法传递给form2 窗体1的代码: 窗体2的代码: 窗体界面与执行结果: 阅读全文
posted @ 2018-04-22 14:55 王精灵 阅读(980) 评论(0) 推荐(0)
c#对XML文档的创建与增删改查
摘要:一、创建的第一种方式 创建结果如下: 二、创建的第二种方式 创建结果如下: 三、对XML文件的添加 四、对XML文档的查询、修改、删除 方法1: 文档结构为: 方法2: 删除元素指定的特性: 删除子节点: 删除当前所有子节点: 删除当前节点的所有特性: 阅读全文
posted @ 2018-04-21 20:24 王精灵 阅读(6882) 评论(3) 推荐(7)

1 2 下一页