![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
.Net学习笔记
文章平均质量分 58
天边小天使
这个作者很懒,什么都没留下…
展开
-
NetCore3.1学习笔记9 文件提供程序
.net 默认文件提供程序有三种。原创 2022-08-23 07:42:52 · 207 阅读 · 1 评论 -
NetCore3.1学习笔记8 静态文件中间件
【代码】NetCore3.1学习笔记8 静态文件中间件。原创 2022-08-23 07:32:13 · 391 阅读 · 0 评论 -
NetCore3.1学习笔记6 配置框架
.net 配置框架从内存读取配置 从命令行读取配置从环境变量读取配置 从文件中获取配置代码监听配置变更把配置绑定到已有对象上把配置绑定到已有对象的私有属性上原创 2022-08-22 07:16:22 · 527 阅读 · 0 评论 -
NetCore3.1学习笔记7 设置调试的命令行数据和环境变量
设置调试的命令行数据和环境变量数据原创 2022-08-20 11:00:44 · 421 阅读 · 0 评论 -
.Net 简单使用 CAP + RabbitMQ 完成事件的发布与订阅
简介CAP 是一个EventBus,同时也是一个在微服务或者SOA系统中解决分布式事务问题的一个框架【官网】使用第一步:创建发布者(Angel.Cap.Publisher)与订阅者(Angel.Cap.Subscriber)两个应用程序,在Nuget上引用主要依赖:DotNetCore.CAP、DotNetCore.CAP.RabbitMQ;用的是Sql Server,还要引用后面三个引用第二步:搭建发布者 Angel.Cap.Publisher添加数据库连接字符串 "Connecti原创 2022-05-31 00:13:01 · 3114 阅读 · 0 评论 -
.Net 简单使用 RabbitMQ
简介RabbitMQ的简单使用,官方教程https://www.rabbitmq.com/getstarted.htmlAMQP 0-9-1 模型解释1.Publisher-生产者(发布消息到RabbitMQ中的Exchange)2.Exchange-交换机(与生产者建立连接并接收生产者的消息,负责将消息路由到具体的队列中)3.Routes-路由(根据交换机的类型以什么样的策略消息发布到Queue)4.Queue-队列(Exchange会将消息分发到指定的Queue,Queue和消费者进行交互原创 2022-05-29 15:55:32 · 1025 阅读 · 0 评论 -
.Net 简单使用 Hangfire
简介Hangfire 是一个开源框架,可帮助您创建、处理和管理后台作业(官方文档)使用第一步:在Nuget上引用依赖原创 2022-05-27 22:43:33 · 640 阅读 · 0 评论 -
NetCore3.1学习笔记5 EntityFrameworkCore与sql server、MongoDB
简介EntityFrameworkCore在Asp.net core上的使用,连接sql server和MongoDBsql server第一步:先创建一个控制台程序,在Nuget上引用依赖EntityFramework,EntityFramework.SqlServer(在Nuget上只装EntityFramework就可以EntityFramework.SqlServer自动安装)第二步:在appsettings.json上创建连接字符串{ "Logging": { "Log原创 2022-05-26 09:01:05 · 831 阅读 · 0 评论 -
NetCore3.1学习笔记4 EntityFramework与EntityFrameworkCore
简介微软公司推出的一个 ORM 框架EntityFramework demo先创建一个控制台程序,在Nuget上引用两个依赖EntityFramework,EntityFramework.SqlServer原创 2022-05-18 23:45:34 · 833 阅读 · 0 评论 -
NetCore3.1学习笔记3 swagger集成配置
.net core环境先配置swagger第一步 引用Nuget包 Swashbuckle.AspNetCore第二步 在Startup 文件中添加配置在Startup类的ConfigureServices方法中把Swagger注入进我们的项目中public void ConfigureServices(IServiceCollection services){ services.AddControllers(); services.AddSwaggerGen(option原创 2022-05-12 00:11:18 · 446 阅读 · 0 评论 -
NetCore3.1学习笔记2 Filter
依赖注入Filter的使用的三种方式ServiceFilter[ServiceFilter(typeof(CustomActionFilterAttribute))]TypeFilter[TypeFilter(typeof(CustomActionFilterAttribute))]IFilterFactory重写IFilterFactorypublic class CustomFilterFactoryAttribute : Attribute, IFilterFacto原创 2022-05-07 08:35:03 · 244 阅读 · 0 评论 -
NetCore3.1学习笔记1 中间件
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2022-04-29 07:48:35 · 1042 阅读 · 0 评论 -
初探ORM&Entity Framework
ORMORM是一个封装,是一个代理,底层还是基于Ado.Net+Sql语句实现的ORM原理ORM的sql:由实体类反射生成sql–>自动执行–>反射绑定结果ORM优点开发快捷,降低学习SQL的成本ORM工具一般也可以支持写SQLORM一般还能适应不同数据库的迁移ORM 缺点因大量的反射,要进行缓存导致占内存和启动慢(执行不影响)SQL固定生成,但是僵化,对索引利用不够好,分页算法就不够好,在复杂的情况下难以应对EF6DBFirst:数据库优先,传统的开发模式,有原创 2020-11-18 11:54:04 · 249 阅读 · 0 评论 -
Net 基本概念
.NET Framework.NET Framework是微软开发的一个软件框架,它包括两个主要组件:公共语言运行时 (CLR),;.NET Framework 类库(FCL)。CLRCommon Language Runtime,简称CLR,是托管代码执行核心中的引擎,就是.net程序由它上面跑。包括内存管理、类型安全、异常处理、垃圾收集、安全和线程管理。所有为。net框架编写的程序,无...原创 2020-01-08 17:26:46 · 1701 阅读 · 0 评论 -
C# 特性Attribute的基础与简单使用
什么是特性公共语言运行时使你能够添加类似于关键字的描述性声明(称为特性),以便批注编程元素(如类型、字段、方法和属性)。编译运行时的代码时,它将被转换为 Microsoft 中间语言 (MSIL),并和编译器生成的元数据一起放置在可移植可执行 (PE) 文件内自定义特性类特性类是直接或间接派生自 Attribute 的类,下面定义一个叫Author的特性,AttributeUsage特性是...原创 2019-11-19 17:48:10 · 439 阅读 · 0 评论 -
C# 从委托、匿名方法到Lambad表达式
.Net Framework1.0引入了委托,.NetFramework2.0引入了匿名方法,.NetFramework3.0引入Lambad表达式匿名方法是通过使用 delegate 关键字创建委托实例来声明的,可以使用来初始化命名委托,所以说匿名方法是一个委托的实例,Lambad表达式也是一个匿名方法,所以Lambad表达式也是个委托实例委托到Lamba表达式的演变,先定义一个show方法...原创 2019-11-19 17:47:37 · 242 阅读 · 0 评论 -
C# 委托定义和多播委托到事件的区别与使用
什么是委托委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用。 委托对方法的引用的,委托实例调用方法。委托的声明使用委托可以直接使用.NetFramework已经定义的委托,也可以自定义。自定义委托是用delegate声明,编译器在使用 delegate关键字时生成的代码自动会继承MulticastDelegate 类的成员的方法调用。使用delegate自定义的委托示例演...原创 2019-11-19 17:46:59 · 364 阅读 · 0 评论 -
C# Expression表达式目录树
Expression就是表达式目录树,是以树形数据结构表示代码,其中每一个节点都是一种表达式。用lambda表达式来创建一个简单的Expression使用lambda表达式,编译器在生成IL时会帮我们拼装表达式目录树,示例:Expression<Func<int, int, int>> expr = (a, b) => a * b + 3;调试查看表达式的结...原创 2019-11-19 17:46:23 · 419 阅读 · 0 评论 -
设计 设计模式六大原则
单一职责原则(Single Responsibility Principle)一个类只负责一项职责。里氏替换原则(Liskov Substitution Principle)子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。依赖倒置原则(Dependence Inversion Principle)高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽...原创 2019-11-19 17:45:23 · 115 阅读 · 0 评论 -
设计 23种设计模式
设计模式分类设计模式总共有 23 种,总体来说可以分为三大类:创建型模式( Creational Patterns )、结构型模式( Structural Patterns )和行为型模式( Behavioral Patterns )。创建型设计模式:关注对象的创建结构型设计模式:关注类与类之间的关系行为型设计模式:关注对象和行为的分离分类关注点包含创建型模式...原创 2019-11-19 17:49:08 · 102 阅读 · 0 评论 -
C# 方法的同步、异步调用与线程、多线程和线程池的使用
方法同步与异步调用public void Show(){ Console.WriteLine($"Show {test}");}方法同步调用就是直接通过方法名的调用,要调用完成后才会进入下一行代码Show("danny");//参数传入名字danny方法异步调用要用到委托Action<string> action = Show;action.BeginInv...原创 2019-11-19 17:43:59 · 595 阅读 · 0 评论 -
C# 反射基础
什么是反射反射是一种动态分析程序集、模块、类型及字段等目标对象的机制,它的实现依托于元数据。元数据,就是描述数据的数据。在CLR中,元数据就是DLL的数据清单,他记录了DLL有多少类,类中有什么方法等等信息,CLR在运行DLL时会先去读元数据。在.NET中,为我们提供了丰富的可以用来实现反射的类型,这些类型大多数都定义在System.Reflection命名空间之下,例如Assembly、Mo...原创 2019-11-18 23:33:11 · 111 阅读 · 0 评论 -
C# 扩展方法
扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。.Net 框架的扩展方法观摩最常见的扩展方法是LINQ标准查询运算符,它将查询功能添加到现有的 System.Collections.IEnumerable和System.Collections.Generic.IEnume...原创 2019-11-18 23:33:21 · 118 阅读 · 0 评论 -
C# 泛型的原理、优势、约束、协变与逆变
泛形声明分别有泛型类,泛型接口,泛型方法和泛型委托。public class GenericClass<T>(){}public interface GenericInterface<T>(){}public void GenericMethod<T>(){}public delegate GenericDelegate<T>(){} ...原创 2019-05-31 14:24:37 · 524 阅读 · 0 评论