随笔分类 -  .NET Core

摘要:最近在项目上遇到几个问题,关于ADO.NET中SQL绑定变量 总结一下,分享给大家。 1. 使用 SqlParameter(推荐方式,防止 SQL 注入) ADO.NET 提供 SqlParameter 来绑定变量,从而提高安全性和性能。 防止 SQL 注入攻击。 支持各种数据类型,避免 SQL 解 阅读全文
posted @ 2025-03-16 07:54 Eric zhou 阅读(478) 评论(0) 推荐(5)
摘要:昨天线上有几个进程因为 StackOverFlowException 导致进程 Crash 了,但是 TCP 请求还是可以连接,具体可不可以连接一个出现StackOverFlowException的微服务应用进程, 做个研究和分享: 在 .NET 进程发生 StackOverflowExceptio 阅读全文
posted @ 2025-02-09 10:45 Eric zhou 阅读(1015) 评论(1) 推荐(7)
摘要:C# 13 中,引入了新的锁类型和语义,主要用于增强多线程编程中的同步机制。 传统上,C# 使用 lock 关键字与任意的 object 实例配合,实现线程间的互斥访问。然而,这种方式可能存在性能瓶颈和潜在的死锁风险。 为此,C# 13 在 .NET 9 中引入了新的锁类型 System.Threa 阅读全文
posted @ 2025-01-22 16:10 Eric zhou 阅读(1895) 评论(2) 推荐(11)
摘要:在 .NET 9 中,微软引入了 Microsoft.ML.Tokenizers 库,为 .NET 开发者提供了强大的文本标记化功能。 一、什么是Microsoft.ML.Tokenizers Microsoft.ML.Tokenizers 是一个用于文本标记化的库,是 .NET 生态系统中的一个强 阅读全文
posted @ 2025-01-13 09:06 Eric zhou 阅读(716) 评论(1) 推荐(4)
摘要:.NET 9 针对云原生开发进行了显著优化,重点改进了分布式追踪、HTTP/3 支持和容器镜像优化等方面。 这些特性极大地提升了 .NET 在现代云原生应用中的适配性与开发效率。 1. 设计原理 1.1 分布式追踪支持 背景:在云原生架构中,应用程序通常由多个微服务组成。分布式追踪能够帮助开发者监控 阅读全文
posted @ 2024-12-31 09:03 Eric zhou 阅读(690) 评论(2) 推荐(4)
摘要:一、内存缓存(Memory Caching) 1. 具体的原理 内存缓存是一种在应用程序内存中存储数据的机制,旨在减少对外部数据源的频繁访问,从而提高应用程序的性能。 在 .NET 中,MemoryCache 类提供了内存缓存的实现。它允许开发者将经常使用的数据存储在内存中,以便快速检索。 在 .N 阅读全文
posted @ 2024-12-30 10:00 Eric zhou 阅读(666) 评论(0) 推荐(6)
摘要:上一篇文章给大家介绍了 .NET 9 New features-JSON序列化 本篇文章,研究分享一下关于AOT方面的改进 1. 什么是AOT AOT(Ahead-of-Time)编译是一种在应用程序部署之前,将高级语言代码直接编译为本机机器代码的技术。 与传统的即时编译(Just-In-Time, 阅读全文
posted @ 2024-12-23 08:48 Eric zhou 阅读(1205) 评论(0) 推荐(6)
摘要:.NET 9已经发布有一段时间了,近期整理一下.NET 9的新特性,今天重点分享.NET 9 JSON序列化方面的改进。 先引用官方的说明: 在 System.Text.Json 中,.NET 9 提供了用于序列化 JSON 的新选项和新的单一实例,可以更轻松地使用 Web 默认值进行序列化。 举个 阅读全文
posted @ 2024-12-22 16:25 Eric zhou 阅读(744) 评论(0) 推荐(2)
摘要:葡萄牙语,作为一种罗曼语族的语言,其正字法(orthography)并不使用音标系统来标记发音,而是有一套特定的拼写规则。然而,葡萄牙语中确实使用重音符号(acentos)来标记某些元音的重音(stress)或音质(quality)的变化。 葡萄牙语中使用的重音符号包括: Acute accent 阅读全文
posted @ 2024-03-04 15:22 Eric zhou 阅读(366) 评论(0) 推荐(4)
摘要:最近团队有小伙伴问在单元测试中如何Mock HttpContext. 这是一个好问题,整理了一个实现方案分享给大家。 在C#中,尤其是在单元测试场景下,模拟(Mocking)HttpContext 是一种常见的做法。这允许我们在没有实际HTTP请求的情况下测试与HTTP上下文相关的代码。 为了模拟H 阅读全文
posted @ 2024-01-24 08:53 Eric zhou 阅读(567) 评论(0) 推荐(2)
摘要:在ASP.NET Core中,当一个HTTP请求到达服务器时,它会被分配给线程池中的一个线程来处理。该线程会执行相应的Controller方法。 如果这个方法是一个异步方法并且使用了await关键字,那么在await的代码执行完毕之前,这个线程会被释放回线程池,可以用来处理其他的HTTP请求。 当a 阅读全文
posted @ 2023-10-04 21:45 Eric zhou 阅读(1360) 评论(4) 推荐(10)
摘要:在葡萄牙语软件中,数字本地化通常涉及小数点和千位分隔符的使用。在葡萄牙语中,小数点用“,”表示,而不是英语中使用的“.”。千位分隔符通常是一个空格或一个点。 例如:62.5,其实代表的不是62.5 而是625M 为了正确地处理数字本地化,可以使用.NET框架中提供的CultureInfo类。此类允许 阅读全文
posted @ 2023-09-08 09:39 Eric zhou 阅读(831) 评论(0) 推荐(2)
摘要:假期中有时间,整理了C#11的各个新特性,简单分享给大家。 一、使用VSCode新建一个.NET7.0的Console工程 <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFr 阅读全文
posted @ 2023-01-19 19:51 Eric zhou 阅读(2670) 评论(2) 推荐(7)
摘要:2022年微软发布了.NET 7, 同时提供了详细的升级迁移方案。 Migrate from ASP.NET Core 6.0 to 7.0 今天给大家简单整理、分享一篇文章。 一、首先需要升级Visual Studio 2022或者VS Code VS Code升级最新版本,或者安装.NET 7 阅读全文
posted @ 2023-01-17 10:36 Eric zhou 阅读(1667) 评论(0) 推荐(8)
摘要:2022年11月份微软推出了带有STS(标准期限支持)的.NET版本7,仅提供18个月的支持。 微软今年推出了STS版本,因为它已经在2019年提到,它将在每年11月左右发布一个新版本的.NET。 但是,考虑到新的官方.NET7功能和更新,它仍然为用户带来了大量变化和.NET7性能改进。今天给大家分 阅读全文
posted @ 2023-01-15 20:24 Eric zhou 阅读(4359) 评论(4) 推荐(19)
摘要:这几天看C# 11的新语法,学习到了Raw string literals 今天给大家分享一下: 原始字符串是字符串的一种新格式。 原始字符串可以包含任意文本,包括空格、新行、嵌入引号和其他特殊字符,无需转义字符(这个很关键、也很简单)。 原始字符串以至少三个双引号 (""") 字符开头。 它以相同 阅读全文
posted @ 2022-12-11 21:39 Eric zhou 阅读(785) 评论(1) 推荐(4)
摘要:.NET 6 Project中,添加了其他解决方案的工程后,本地能编译通过,代码签入后,其他同事下载代码,编译报错: 错误 NU1105 找不到“E:\Teld\01Code\TTP_CTP\_git\TTP_CTP_NET6\Src\Framework\HSF\Src\Teld.Core.HSF. 阅读全文
posted @ 2022-12-07 20:12 Eric zhou 阅读(511) 评论(0) 推荐(0)
摘要:日常我们开发.NET应用时会使用SQLServer数据库,对于SQLServer数据库的日常开发有一些技能和工具,准备给大家分享一下。 一、场景1:SQLServer死锁分析 执行以下SQL,启用SQLServer死锁日志输出 EXEC sp_altermessage 1205, 'WITH_LOG 阅读全文
posted @ 2022-11-14 08:45 Eric zhou 阅读(256) 评论(1) 推荐(4)
摘要:NET 6.0引入了Crossgen工具的后续版本Crossgen2,这个工具提供了程序提前(AOT)编译的能力。 什么是CrossGen? 我们日常开发时使用C#编译器CSC编译一个.NET程序集,程序集包含MSIL代码(中间语言代码)。当应用程序运行时,目标环境的本地JIT编译器将MSIL代码转 阅读全文
posted @ 2022-03-28 07:05 Eric zhou 阅读(1641) 评论(6) 推荐(8)
摘要:.NET 热重载技术支持将代码更改(包括对样式表的更改)实时应用到正在运行的程序中,不需要重启应用,也不会丢失应用状态。 一、整体介绍 目前 ASP.NET Core 6.0 项目都支持热重载。在以下情况下支持应用的热重载: 1. 仅运行一次的应用启动逻辑代码 中间件,除非代码更新是委托给内联中间件 阅读全文
posted @ 2022-03-23 07:36 Eric zhou 阅读(1558) 评论(0) 推荐(3)