随笔分类 - .NET Research
摘要:我们将原有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进程相关的性能计数器的
阅读全文
摘要:Windbg程序调试是.Net高级开发需要掌握的必备技能,分析内存泄露、分析高CPU、分析线程阻塞、分析内存对象、分析线程堆栈、Live Dedugging。这个领域可以说一个技能+场景化应用的结合,如果单学Windbg命令,不理解实际Troubleshooting中的作用,是没有意义的。所以,准备
阅读全文
摘要:最近一直在频繁使用Windbg做线上Dump调试,与微软做Case交流的时候,发现微软CSS团队,用了一个非常效率的Windbg 插件,Mex: 使用介绍: https://blogs.msdn.microsoft.com/luisdem/2016/07/19/mex-debugging-exten
阅读全文
摘要:我们现在用的数据访问组件封装了IBatis.Net框架,提供了标准的数据访问接口和服务。正好总结一下老技术IBatis.Net在进行实际的数据访问开发之前,我们先了解一下:IBatis.Net中几个重要的配置文件和一些关键的技术原理:4个重要的配置文件: 关键的技术特性 开发一个数据访问的业务功能,
阅读全文
摘要:在生产环境中,通过运行日志我们会发现一些异常问题,此时,我们不能直接拿VS远程到服务器上调试,同时日志输出的信息无法百分百反映内存中对象的状态,比如说我们想查看进程中所有的Socket连接状态、服务路由信息等等。 即:如何分析.Net 运行时内存对象? 所以,今天我们推荐.Net进阶必备神器:Win
阅读全文
摘要:最近在做服务的细粒度治理,统一管理所有服务的方法、参数、返回值信息。方便后续的各个模块之间的对接和协作。 目前系统中所有的服务,管理到接口契约粒度,即服务接口声明和服务接口实现。要做服务的细粒度治理: 首先需要将服务的各个方法信息全部反射出来,然后再统一管理。 大致的思路是这样的: 1. 下载所有最
阅读全文
摘要:随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的ASP.NET WebApi站点,就可以跨平台运行在Linux中。我们有必要先说一下ASP.NET Core。 ASP.NET Core 是新一代的 ASP.NET,第一次出现时的代号为 ASP.NET vNext,后
阅读全文
摘要:上一篇文章,我们做了内存数据库的技术选型: 内存数据库技术选型 本文中,我们继续深入研究Apache Ignite,同时分享一些我们.Net的编码实践。 首先,Apache Ignite是一个内存数据组织是高性能的、集成化的以及分布式的内存平台,他可以实时地在大数据集中执行事务和计算,和传统的基于磁
阅读全文
摘要:最近一段时间研究了内存数据库,总结了一下,分享给大家。我们先从应用场景说起。 一. 内存数据库的应用场景 数据缓存:将经常使用的数据存放在内存中,全局共享,减少和数据库之间的交互频率,提升数据访问速度,主要用于应用程序全局共享缓存。 内存计算:支持通过标准SQL或者LINQ的方式实现对内存数据的聚合
阅读全文
摘要:上两篇文章我们介绍了时序数据库Influxdb在互联网级监控系统下的应用: 互联网级监控系统必备-时序数据库之Influxdb技术 互联网级监控系统必备-时序数据库之Influxdb集群及踩过的坑 在我们监控平台V1.0和V2.0版本的演进过程中,设计上,我们在监控引擎端引入了内存存储的理念,即监控
阅读全文
摘要:上篇博文中,我们介绍了做互联网级监控系统的必备-Influxdb的关键特性、数据读写、应用场景: 互联网级监控系统必备-时序数据库之Influxdb 本文中,我们介绍Influxdb数据库集群的搭建,同时分享一下我们使用集群遇到的坑! 一、环境准备 二、一步一步搭建Influxdb集群 1. 在各个
阅读全文