随笔分类 -  .NET

摘要:大家都用过SmtpClient来处理发送邮件的操作,不过这个类以及被标记已过时,所以介绍一个微软推荐的库MailKit来处理。 MailKit开源地址:https://github.com/jstedfast/MailKit 新建一个控制台应用程序,将MailKit添加到项目中。 Install-P 阅读全文
posted @ 2020-12-08 11:07 netlock 阅读(709) 评论(1) 推荐(0)
摘要:1|0网关介绍 网关其实就是将我们写好的API全部放在一个统一的地址暴露在公网,提供访问的一个入口。在 .NET Core下可以使用Ocelot来帮助我们很方便的接入API 网关。与之类似的库还有ProxyKit,微软也发布了一个反向代理的库YARP。 关于网关的介绍不多说了,网上文章也挺多的,这些 阅读全文
posted @ 2020-12-08 10:58 netlock 阅读(3215) 评论(3) 推荐(7)
摘要:参考文章https://www.cnblogs.com/RainFate/p/12095793.html Topshelf Topshelf 是一个用来部署基于.NET Framework 开发的服务的框架。简化服务创建于部署过程,并且支持控制台应用程序部署为服务。本文基于 .net core 控制 阅读全文
posted @ 2020-12-08 10:47 netlock 阅读(1446) 评论(0) 推荐(0)
摘要:先来简单介绍下市面上最广泛常见的三种操作excel库的优缺点1.NPOI 优点:免费开源,无需装Office即可操作excel, 支持处理的文件格式包括xls, xlsx, docx.格式 缺点:不支持大数据量以及多sheet的导出 2.Aspose.Cells 优点:支持大数据量以及多sheet的 阅读全文
posted @ 2020-12-08 10:44 netlock 阅读(5700) 评论(0) 推荐(2)
摘要:unc<TObject, bool>是委托(delegate) Expression<Func<TObject, bool>>是表达式 Expression编译后就会变成delegate,才能运行。比如 Expression<Func<int, bool>> ex = x=>x < 100; Fun 阅读全文
posted @ 2020-12-08 10:20 netlock 阅读(1412) 评论(0) 推荐(1)
摘要:HttpWebRequest 这是.NET创建者最初开发用于使用HTTP请求的标准类。HttpWebRequest是老版本.net下常用的,较为底层且复杂,访问速度及并发也不甚理想,但是使用HttpWebRequest可以让开发者控制请求/响应流程的各个方面,如 timeouts, cookies, 阅读全文
posted @ 2020-12-08 10:11 netlock 阅读(5410) 评论(1) 推荐(4)
摘要:依赖注入在 ASP.NET Core 中起中很重要的作用,也是一种高大上的编程思想,它的总体原则就是:俺要啥,你就给俺送啥过来。 服务类型的实例转由容器自动管理,无需我们在代码中显式处理。 因此,有了依赖注入后,你的编程思维就得变一变了。 在过去,许多功能性的类型(比如一个加密解密的类),我们都喜欢 阅读全文
posted @ 2020-12-08 09:52 netlock 阅读(1573) 评论(0) 推荐(2)
摘要:如今,我们操作数据库一般用ORM框架 现在用.NET Core + EFCore + SqlServer 实现数据读写分离 介绍 为什么要读写分离? 降低数据库服务器的压力 如何实现读写分离? 1.一个主库多个从库 2.配置主库复制数据到从库 为什么一个主库多个从库? 一般查询多于增删改,这就是我们 阅读全文
posted @ 2020-12-07 18:54 netlock 阅读(2600) 评论(0) 推荐(3)
摘要:cron表达式通过特定的规则指定时间,用于定时任务 1. 整体结构 cron表达式是一个字符串,分为6或7个域,每两个域之间用空格分隔,其语法格式为: "秒域 分域 时域 日域 月域 周域 年域" 其中,年域可以省略,省略时表示每年。 每一个域都使用数字,但还可以出现如下特殊字符,它们的含义是: ( 阅读全文
posted @ 2020-12-07 16:48 netlock 阅读(321) 评论(0) 推荐(0)
摘要:注意:1. 当Hangfire服务由Web程序来启用时,默认情况下,web应用程序中的Hangfire服务器实例在第一个用户访问您的站点之前不会启动。甚至,有一些事件会在一段时间后导致web应用程序关闭(比如空闲超时应用程序池回收事件)。在这些情况下, “循环任务”和“延迟作业”将不会进入队列,而“ 阅读全文
posted @ 2020-12-07 15:18 netlock 阅读(2362) 评论(1) 推荐(1)
摘要:区别 1.应用场景方面RabbitMQ:用于实时的,对可靠性要求较高的消息传递上。kafka:用于处于活跃的流式数据,大数据量的数据处理上。2.架构模型方面producer,broker,consumerRabbitMQ:以broker为中心,有消息的确认机制kafka:以consumer为中心,无 阅读全文
posted @ 2020-12-04 11:47 netlock 阅读(765) 评论(0) 推荐(0)
摘要:爬虫大家或多或少的都应该接触过的,爬虫有风险,抓数需谨慎。 爬虫有的是抓请求,有的是抓网页再解析 本着研究学习的目的,记录一下在 .NET Core 下抓取数据的实际案例。爬虫代码一般具有时效性,当我们的目标发生改版升级,规则转换后我们写的爬虫代码就会失效,需要重新应对。抓取数据的主要思路就是去分析 阅读全文
posted @ 2020-11-05 17:38 netlock 阅读(2182) 评论(1) 推荐(3)
摘要:首先创建 使用mock 外部依赖一般用Mock 模拟 下载包 例如 3.1:首先先要使用MOCk来模拟测试方法需要的参数,这一步为 Arrange; 简单的模拟 var mock = new Mock<Object>(); 模拟返回的数据 mock .Setup(x => x.方法(It.IsAny 阅读全文
posted @ 2020-11-04 18:01 netlock 阅读(1107) 评论(1) 推荐(1)
摘要:ElasticSearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库,无论是开源还是私有。 但是 Lucene 仅仅只是一个库。为了充分发挥其功能,你需要使用 Java 并将 Lucene 阅读全文
posted @ 2020-10-29 21:29 netlock 阅读(3546) 评论(2) 推荐(2)
摘要:一.简介 官方文档https://identityserver4.readthedocs.io/en/latest/ IdentityServer4是一个框架,IdentityServer4是为ASP.NET CORE量身定制的实现了OpenId Connect和OAuth2.0协议的认证授权中间件 阅读全文
posted @ 2020-09-06 22:07 netlock 阅读(2182) 评论(2) 推荐(4)
摘要:本文就简单使用 往前端页面推送消息 SignalR 是什么 SignalR是一个.NET Core/.NET Framework的开源实时框架. SignalR的可使用Web Socket, Server Sent Events 和 Long Polling作为底层传输方式. SignalR基于这三 阅读全文
posted @ 2020-09-03 16:19 netlock 阅读(9572) 评论(9) 推荐(4)
摘要:CAP 同时支持使用 RabbitMQ,Kafka,Azure Service Bus 等进行底层之间的消息发送。 CAP 目前支持使用 Sql Server,MySql,PostgreSql,MongoDB 数据库的项目。 一般是cap+Kafka,这里使用cap+redis 安装DotNetCo 阅读全文
posted @ 2020-08-24 11:46 netlock 阅读(1364) 评论(0) 推荐(1)
摘要:简介以及区别 ASP.NET Core 缓存Caching,.NET Core 中为我们提供了Caching 的组件。 目前Caching 组件提供了三种存储方式。 Memory Redis SqlServer 1.MemoryCache Cache是一个绝大多数项目会用到的一个技术 为了减少磁盘的 阅读全文
posted @ 2020-08-24 11:05 netlock 阅读(2725) 评论(0) 推荐(2)
摘要:简介 单点登录是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统的保护资源,若用户在某个应用系统中进行注销登录,所有的应用系统都不能再直接访问保护资源,像一些知名的大型网站,如:淘宝与天猫、新浪微博与新浪博客等都用到了这个技术。 原理 单点登录 有一个独立的认证中心,只有认证中心 阅读全文
posted @ 2020-07-28 16:47 netlock 阅读(2525) 评论(16) 推荐(2)
摘要:仓储模式+工作单元 仓储模式 仓储(Repository)模式自2004年首次作为领域驱动模型DDD设计的一部分引入,仓储本质上是提供提供数据的抽象,以便应用程序可以使用具有接口的相似的简单抽象集合。从此集合中CURD是通过一些列直接的方法完成,无需处理连接、命令等问题,使用此种模式可帮助实现松耦合 阅读全文
posted @ 2020-07-27 09:37 netlock 阅读(3757) 评论(7) 推荐(3)