随笔分类 - .NetCore
摘要:源码搜索与概述 搜索HttpClient源码 https://source.dot.net/#System.Net.Http/System/Net/Http/HttpClient.cs 1、HttpClient 依赖HttpClientHandler或HttpMessageHandler,HttpC
阅读全文
摘要:Grpc简介 gRPC 是一种与语言无关的高性能远程过程调用 (RPC) 框架。 在 gRPC 中,客户端应用程序可以直接调用不同计算机上的服务器应用程序上的方法,就像它是本地对象一样,从而更轻松地创建分布式应用程序和服务。它基于定义服务的想法,指定了参数和返回类型的远程过程调用的方法。服务器端实现
阅读全文
摘要:本文主要目标:记录Middleware的运行原理流程,并绘制流程图。 目录结构: 1、运行环境 2、Demo实践 3、源码追踪 4、AspnetCore内置middleware #一、运行环境 Visual Studio Community 2019 版本 16.8.5 .Net Sdk Versi
阅读全文
摘要:背景 上午临近午饭时,公司同事反馈验证码被攻击灌水。我们匆忙查询验证码明细,对已频繁出现的IP插入黑名单,但IP仍然隔断时间频繁变动,不得已之下只能先封禁对应公司id的验证码发送功能。年初时候,专门对SSO站点的发送验证码升级到极验的验证,已经杜绝了普通的攻击,没想到没升级的这个系统又遭受洗礼...
阅读全文
摘要:背景 昨天因客户私有部署问题,需要到客户公司去排查问题。 他们是一家外企,各种权限需要提前申请(最大的坑)。他们之前部署的一般为单域名,很少部署互联网类型多个域名的情形(第二个坑)。这次私有部署总计使用了十几个站点,我们之前提供过发布文件与配置信息,这次是过来检查部署,保证主功能正常使用。 出行问题
阅读全文
摘要:一、学习途径 学习.netcore的最佳途径在哪里,无疑是微软官方.netCore指南。它覆盖十分全面,就目前网上经常看到的各种文章都能在微软处找到类似文章,堪称.netcore的百科全书。所以我利用业余时间安装目录制作了一些学习图谱。 只看不练属于纸上谈兵。说一千道一万,学了之后如果没有成品出来,
阅读全文
摘要:不知你是否见过 try { } finally { } 代码中,try 块留空,而只往 finally 中写代码的情况呢?这种写法有其特殊的目的。 本文就来说说这种不一样的写法。 你可以点开这个链接查看 Exception 类,在里面你可以看到一段异常处理的代码非常奇怪: 神奇之处就在于,其 try
阅读全文
摘要:先决条件 Visual Studio 2017 .NET Compiler Platform SDK Rosyln入门(一)-C#语法分析 简介 今天,Visual Basic和C#编译器是黑盒子:输入文本然后输出字节,编译管道的中间阶段没有透明性。使用.NET编译器平台(以前称为“Roslyn”)
阅读全文
摘要:演示环境 Visual Studio 2017 .NET Compiler Platform SDK 简介 今天,Visual Basic和C#编译器是黑盒子:输入文本然后输出字节,编译管道的中间阶段没有透明性。使用.NET编译器平台(以前称为“Roslyn”),工具和开发人员可以利用编译器使用的完
阅读全文
摘要:前言 许多个人计算机和工作站都有多个CPU核心,可以同时执行多个线程。利用硬件的特性,使用并行化代码以在多个处理器之间分配工作。 应用场景 文件批量上传 并行上传单个文件。也可以把一个文件拆成几段分开上传,加快上传速度。 数据分批计算 如几百万数据可以拆成许多无关联的部分,并行计算处理。最后聚合。
阅读全文
摘要:前言 这个话题对我而言,是影响很久的事情。从第一次使用消息队列开始,业务背景是报名系统通知到我们的系统。正常流量下数据都能正常通知过来,但遇到导入报名人时,采用了Task异步通知,数据量一大,队列就死了。当时是尽量采用同步方式,减少并发量。 后来业务上有了专门的营销系统,各种数据的增删改都要进营销系
阅读全文
摘要:前言 今天上午,一个客户反馈XX消息没有推送到第三方链接。于是我查看了推送日志列表,并没有今天的。接着登录服务器查询文件日志,看到了记录。我们的代码步骤是消息先推送到消息队列,消费消息队列时,记录文件日志,然后异步推送到第三方。 调试排坑 经过一番寒彻骨的查询几个关键表,构造数据,并调试推送后,发现
阅读全文
摘要:前言 本系列已写了四篇文章,读本篇之前,可以先读前面几篇。 思考大纲:.Net架构篇:思考如何设计一款实用的分布式监控系统? 实践篇一:.NetCore实践篇:分布式监控客户端ZipkinTracer从入门到放弃之路 实践篇二:.NetCore实践篇:分布式监控系统zipkin踩坑之路(二) 实践篇
阅读全文
摘要:前言 读本篇文章之前,可以先读前两篇文章。为了照顾没看过的朋友,我也会稍作复习。 思考大纲: .Net架构篇:思考如何设计一款实用的分布式监控系统? 实践篇一:.NetCore实践篇:分布式监控客户端ZipkinTracer从入门到放弃之路 实践篇二:.NetCore实践篇:分布式监控系统zipki
阅读全文
摘要:前言 《牧神记》有一句话说的好,破心中神。当不再对分布式,微服务,CLR畏惧迷茫的时候,你就破了心中神。 zipkin复习 第一篇: .Net架构篇:思考如何设计一款实用的分布式监控系统? 第二篇:NetCore实践篇:分布式监控客户端ZipkinTracer从入门到放弃之路,我们提到了zipkin
阅读全文
摘要:前言 本文紧接上篇.Net架构篇:思考如何设计一款实用的分布式监控系统?,上篇仅仅是个思考篇,跟本文没有太大的关系。但有思考,结合现有的开源组件,实践起来更易理解起来,所以看本文之前,应该先看下上篇博文。 Zipkin简介 Zipkin是一种分布式跟踪系统。它有助于收集解决微服务架构中的延迟问题所需
阅读全文
摘要:前言 说起支付平台,支付宝量级的支付平台和一个小型公司的支付不可同日耳语。一个初创或刚创业一两年的公司,一没人力,二没财力的情况下,如果也想对接支付那怎么办呢?感谢支付宝和微信支付,两大行业巨头提供了简单易用的方案,简化了对接流程,又能支持大部分银行。今天我们就来根据不同业务规模,设计一个能经受业务
阅读全文
摘要:前言 我之前看.netcore一些问题时候,用bing搜索工具搜到了一些外国人的博客。翻看以下,有学习的价值,就分享在这里了。 个人博客 andrewlock.net 最新几篇如下,一看标题就知道很有实用价值。 为什么我的ASP.NET Core特定于环境的配置没有加载? 使用Docker在CI中运
阅读全文
摘要:回顾 上篇文章NetCore实践爬虫系统(一)解析网页内容 我们讲了利用HtmlAgilityPack,输入XPath路径,识别网页节点,获取我们需要的内容。评论中也得到了大家的一些支持与建议。下面继续我们的爬虫系统实践之路。本篇文章不包含依赖注入/数据访问/UI界面等,只包含核心的爬虫相关知识,只
阅读全文
摘要:爬虫系统的意义 爬虫的意义在于采集大批量数据,然后基于此进行加工/分析,做更有意义的事情。谷歌,百度,今日头条,天眼查都离不开爬虫。 今日目标 今天我们来实践一个最简单的爬虫系统。根据Url来识别网页内容。 网页内容识别利器:HtmlAgilityPack GitHub地址 HtmlAgilityP
阅读全文