随笔分类 - .NET Research
摘要:今年11月10号 .NET 5.0 如约而至。这是.NET All in one后的第一个版本,虽然不是LTS(Long term support)版本,但是是生产环境可用的。 有微软的背书,微软从.NET Preview 1就开始在自己的网站上运行.NET 5, (Bing.com、dot.net
阅读全文
摘要:Windbg是.NET高级调试领域中不可或缺的一个工具和利器,也是日常我们分析解决问题的必备。准备近期写2篇精华文章,集中给大家分享一下如果通过Windbg进行.NET高级调试。 今天我们来一篇入门的文章。首先,Windbg是什么? Windows Debugger,简称WinDbg,.NET 最强
阅读全文
摘要:物联网技术已经火了很多年了,业界各大厂商都有各自成熟的解决方案。我们公司主要搞新能源汽车充电,充电桩就是物联网技术的最大应用,车联网、物联网、互联网三网合一。2017年的时候重点研究过Azure IoT技术架构和使用, Azure IoT 技术研究系列1-入门篇 随着业界技术的发展,近期又重新关注并
阅读全文
摘要:随着.NET Core相关技术研究的深入,现在将这一系列的文章,整理到一个索引页中,方便大家翻阅查找,同时,后续也会不断补充进来。 .NET Core技术研究-WebApi迁移ASP.NET Core2.0 .NET Core技术研究-Span<T>和ValueTuple<T> .NET Core技
阅读全文
摘要:上一篇文章中,我们谈到了通过Roslyn进行代码分析,通过自定义代码扫描规则,将有问题的代码、不符合编码规则的代码扫描出来,禁止签入,提升团队的代码质量。 .NET Core技术研究-通过Roslyn全面提升代码质量 今天我们基于第二篇:基于Roslyn技术,扫描单元测试代码,通过单元测试覆盖率和执
阅读全文
摘要:随着团队越来越多,越来越大,需求更迭越来越快,每天提交的代码变更由原先的2位数,暴涨到3位数,每天几百次代码Check In,补丁提交,大量的代码审查消耗了大量的资源投入。 如何确保提交代码的质量和提测产品的质量,这两个是非常大的挑战。 工欲善其事,必先利其器。在上述需求背景下,今年我们准备用工具和
阅读全文
摘要:因为IIS不支持跨平台的原因,我们在升级到ASP.NET Core后,会接触到一个新的Web服务器Kestrel。相信大家刚接触这个Kestrel时,会有各种各样的疑问。 今天我们全面认识一下ASP.NET Core的默认Web服务器Kestrel。 一、初识Kestrel 首先,Kestrel是一
阅读全文
摘要:前一段时间,和大家分享了 ASP.NET Core技术研究-探秘Host主机启动过程 但是没有深入说明主机的设计。今天整理了一下主机的一些知识,结合先前的博文,完整地介绍一下.NET Core的主机的设计和构建启动过程。 一、什么是主机 主机是一个封装了应用资源的对象,即:主机封装了一堆应用资源,封
阅读全文
摘要:ASP.NET Core在底层内置了一个依赖注入框架,通过依赖注入的方式注册服务、提供服务。依赖注入不仅服务于ASP.NET Core自身,同时也是应用程序的服务提供者。 毫不夸张的说,ASP.NET Core通过依赖注入实现了各种服务对象的注册和创建,同时也实现了面向抽象的编程模式和编程体验,提升
阅读全文
摘要:当我们将原有ASP.NET 应用程序升级迁移到ASP.NET Core之后,我们发现代码工程中多了两个类Program类和Startup类。 接下来我们详细探秘一下通用主机Host的启动过程。 一、Program类的Main函数入口 Program类最重要的功能就是启动主机,这里有一个主机的概念,是
阅读全文
摘要:我们将原有ASP.NET应用升级到ASP.NET Core的过程中,会遇到一个新的概念:中间件。 中间件是ASP.NET Core全新引入的概念。中间件是一种装配到应用管道中以处理请求和响应的软件。 每个组件: 选择是否将请求传递到管道中的下一个组件。 可在管道中的下一个组件前后执行工作。 单独看以
阅读全文
摘要:将ASP.NET升级到ASP.NET Core之后,相信大家都会遇到HttpContext.Current无法使用的问题。这也是我们迁移ASP.NET Core必须解决的问题。 本文我们详细讨论一下,使用HttpContext的正确姿势。 先列一下使用HttpContext的具体场景: 1. 在Co
阅读全文
摘要:这几天微软.NET 团队发布了.NET 5 Preview 1, 如约而至。很兴奋,因为.NET Core和.NET Framework终于实现了大一统,同时也很期待,期待.NET 5能给我们带来哪些好的新特性。 让我们先把时间拨回到2019年... 一、2019年.NET 5的提前剧透 去年201
阅读全文
摘要:随着VSCode的不断完善和强大,是时候将部分开发迁移到VS Code中了。 目前使用VS2019开发.NET Core应用,一直有一个想法,在VS Code中复刻VS的开发环境,同时迁移到VS Code。 那么现在就开始吧。 首先,安装最新版的VS Code:https://code.visual
阅读全文
摘要:前段时间迁移.NET Core做了大量的试水和评估,今天整理一下分享给大家。大致有以下几个部分: 1. .NET Core的由来 2. 为什么要迁移.NET Core 3. .NET Core3.X主要特性 4. .NET Standard和.NET Core 5. .NET Core Roadma
阅读全文
摘要:在.NET Core的迁移过程中,我们将原有的.NET Framework代码迁移到.NET Core。如果线上只有一个小型的应用还好,迁移升级完成后,只需要维护.NET Core这个版本的代码。 但是,如果是一个大型分布式应用,几百台Server,上千个.NET 应用进程。这种场景下,在一定的时期
阅读全文
摘要:最近整理了一下Windbg程序调试系列的文章,做个了索引贴,方便大家查询、搜索: Windbg程序调试系列1-常用命令说明&示例 Windbg程序调试系列1-Mex扩展使用总结 Windbg程序调试系列2-内存泄露问题 Windbg程序调试系列3-线程阻塞问题 Windbg程序调试系列4-Live
阅读全文
摘要:上篇博文中给大家分享了使用Windbg分析线程阻塞问题: Windbg程序调试系列3-线程阻塞问题 本篇中我们继续,跟大家分享附加进程实时调试-Live Debugging。 先说一下使用Windbg附加进程实时调试的应用场景和注意事项: 应用场景: 集成测试环境,影响异常后,分析异常和线程上下文的
阅读全文
摘要:上一篇博文给大家分享了使用Windbg分析内存泄露问题: Windbg程序调试系列2-内存泄露问题 本篇我们继续跟大家分享,如何分析解决线程阻塞问题。 从根本上讲,线程阻塞属于程序Hang的一种,其表现主要有: 1. 随着请求的增加,线程数一直增加,可能会把线程池打爆 2. 低CPU使用率(被阻塞后
阅读全文
摘要:上篇文章给大家解释了Windbg的基本命令和说明,这一篇给大家介绍内存泄露场景的问题分析。 文章大纲: 1. 先说问题背景:生产环境IIS站点,运行一段时间后,w3wp进程内存会涨到2G,同时内存不释放。 2. 问题确认 打开性能计数器,我们重点看一段时间内,IIS站点w3wp进程相关的性能计数器的
阅读全文
浙公网安备 33010602011771号