8

C#/.NET/.NET Core技术前沿周刊 | 第 44 期(2025年6.23-6.30)

前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。 欢迎投稿、推荐或自荐优质文章、项目、学习资源等。 � ...

追逐时光者 发布于 2025-07-01 21:14 评论(2) 阅读(757)
1

QA - RAG智能问答系统中的文档切片与实现原理

引言 在现代企业知识管理系统中,智能问答系统正发挥着越来越重要的作用。GC-QA-RAG系统作为葡萄城技术栈中的重要组成部分,其核心功能是通过对文档内容进行智能切片和向量化存储,实现对技术文档的高效检索和问答。本文将深入剖析该系统的文档切片原理,包括短文档和长文档的不同处理策略,以及如何将这些技术应 ...

葡萄城技术团队 发布于 2025-07-01 09:28 评论(0) 阅读(484)
1

javascript中IIFE(立即执行函数表达式)到底是咋来的?

介绍 IIFE(Immediately Invoked Function Expression),中文名称:立即执行函数表达式,其实IIFE最早并不叫这个名字,而是叫做Self-Executing Anonymous Function,即自执行匿名函数。根据MDN的资料,IIFE这个说法最早由Ben ...

前端风云志 发布于 2025-07-01 08:06 评论(0) 阅读(320)
1

DotTrace系列:9. 大结局之 跨平台 和 自定义行为 诊断

一:背景 1. 讲故事 本篇是系列的最后一篇,我们从跨平台部署和自定义诊断的角度跟大家聊一聊 dottrace,希望对大家有所启发。 二:跨平台和自定义诊断 1. 如何跨平台诊断分析 如果 dottrace 只能在 windows 平台上跑,那确实不值得写一个系列,目前它可以横跨三大平台(Windo ...

一线码农 发布于 2025-06-30 15:05 评论(3) 阅读(441)
19

.NET应用中的高效分布式同步解决方案

前言 在分布式系统中,多个线程、进程或服务之间常常需要并发访问共享资源,这就带来了数据同步与一致性的挑战。今天大姚给大家分享一个.NET应用中的高效分布式同步解决方案:DistributedLock。 项目介绍 DistributedLock 是一个 .NET 开源的库,它基于多种底层技术提供了强大 ...

追逐时光者 发布于 2025-06-30 13:09 评论(3) 阅读(1294)
2

Spread Ribbon 工具栏控件:在WinForms中高效编辑Spread工作簿

引言 在数据密集型应用中,电子表格功能是提升用户体验的关键要素。GrapeCity Spread.NET V17 推出的独立 Ribbon工具栏控件,为WinForms开发者提供了与Excel高度一致的UI交互体验。通过集成此控件,用户可直观地进行数据编辑、格式调整等操作,同时开发者可通过API实现 ...

葡萄城技术团队 发布于 2025-06-30 11:34 评论(0) 阅读(279)
0

DotTrace系列:8. 时间诊断之 异步代码 和 Task任务

一:背景 1. 讲故事 现如今的很多代码都是awaitasync+Task的方式,对它们进行性能洞察非常有必要,awaitasync 本质上就是将状态机塞入到 Task 的 m_continuationObject 延续字段上,和 ContinueWith 没有本质区别,这一篇我们就来聊一聊。 二: ...

一线码农 发布于 2025-06-30 08:35 评论(0) 阅读(387)
16

【EF Core】DbContext是如何识别出实体集合的

在开始之前说明一下,你不要指望阅读完本文后会得到光,就算得到光你也未必能变成迪迦。本文老周仅介绍原理,可以给部分大伙伴们解惑。 咱们都知道,在派生 DbContext 类时,集体类的集合用 DbSet<TEntity> 表示,而咱们最常用的方法是在 DbContext 的派生类中公开 DbSet<T ...

东邪独孤 发布于 2025-06-29 22:31 评论(0) 阅读(1673)
2

一文搞懂javascript中的var、let、const

简介 var, let and const是JavaScript中三种定义变量的方式,它们之间有什么区别呢?这是前端面试中常见的一道题,今天我们来一文说透它。 let和const区别不大,主要是const声明的是常量,不可修改,而let声明的变量是可修改的。所以我们重点放在var和let上。 变量初 ...

前端风云志 发布于 2025-06-29 22:23 评论(0) 阅读(541)
1

DotTrace系列:7. 诊断 托管和非托管 内存暴涨

一:背景 1. 讲故事 分析托管和非托管内存暴涨,很多人潜意识里都会想到抓dump上windbg分析,但我说可以用dottrace同样分析出来,是不是听起来有点让人惊讶,哈哈,其实很正常,它是另辟蹊径采用底层的ETW机制,即开启 windows 底层日志,所以 dottrace 可以做,官方血统的 ...

一线码农 发布于 2025-06-29 12:00 评论(0) 阅读(454)
1

DotTrace系列:6. 程序异常诊断 和 Request慢处理

一:背景 1. 讲故事 在我分析的众多dump中,有一些CPU爆高是因为高频的抛 Exception 导致,比如下面这张图,有 19 个线程都在抛 xxxResultException 异常。 从卦中虽知大量异常的痕迹,但从严谨的角度来说,最好再卜一卦,就是用 perfview 或者 dottrac ...

一线码农 发布于 2025-06-28 10:16 评论(0) 阅读(283)
3

使用GcExcel .NET将Excel导出为PDF

使用GcExcel .NET将Excel导出为PDF 引言 在企业级应用开发中,经常需要将Excel数据导出为PDF格式以便于共享和打印。GrapeCity Documents for Excel(简称GcExcel)作为一款高性能的.NET Excel组件,提供了强大的PDF导出功能。本文将详细介 ...

葡萄城技术团队 发布于 2025-06-27 08:42 评论(1) 阅读(626)
17

《HelloGitHub》第 111 期

兴趣是最好的老师,HelloGitHub 让你对开源感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Pytho ...

削微寒 发布于 2025-06-27 08:19 评论(2) 阅读(1906)
1

DotTrace系列:5. 诊断程序的 慢File 和 慢SQL

一:背景 1. 讲故事 上一篇跟大家聊到了 UI Freeze 的问题,让大家感受到了时间轴的强大和美观,这个是 perfview 所不具备的,本篇跟大家聊一下用 dottrace 诊断Windows子系统模块(File,SQL),虽然perfivew也能做这些,毕竟都是基于ETW机制,但前者占据了 ...

一线码农 发布于 2025-06-26 11:06 评论(3) 阅读(406)
0

使用Spread控件构建Checkbook工程的技术指南

引言 在现代Web应用开发中,电子表格控件已成为处理财务数据、报表展示等场景的重要工具。葡萄城的Spread控件作为一款功能强大的ASP.NET表格组件,为开发者提供了丰富的API和灵活的定制能力。本文将详细介绍如何在Visual Studio .NET环境中创建一个名为Checkbook的支票登记 ...

葡萄城技术团队 发布于 2025-06-26 10:03 评论(0) 阅读(149)
10

使用 xUnit 快速编写 .NET 应用单元测试

前言 在当今快速迭代的软件开发环境中,单元测试已成为保障代码质量和项目可靠性的重要基石,通过验证程序最小单元(如函数、方法、类等)的独立行为,能够在开发阶段快速发现逻辑错误或边界条件问题。今天大姚将带领大家使用 xUnit 快速编写 .NET 应用单元测试。 项目介绍 xUnit 是一个开源、免费、 ...

追逐时光者 发布于 2025-06-26 08:00 评论(0) 阅读(533)
0

使用 Spread.net将 Excel 中的文本拆分为多段

引言: 在 .NET 应用程序中处理 Excel 数据时,常常会碰到需要把文本拆分成多段的情况。例如在数据清洗、数据分析等场景下,将长文本按照特定规则拆分为多段能让数据更便于处理和分析。Spread.NET作为一款强大的 .NET 电子表格组件,为我们提供了有效的解决方案。本文将详细介绍如何使用 S ...

葡萄城技术团队 发布于 2025-06-25 15:43 评论(0) 阅读(302)
5

DotTrace系列:4. 诊断窗体程序变卡之原因分析

一:背景 1. 讲故事 写这一篇是因为昨天看 dottrace 官方文档时,在评论区看到了一条不友好的评论,截图如下: 虽然语气上带有些许愤怒,但说实话人家也不是无中生有,作为 dottrace 的忠实粉丝我还是能够理解他的心情的,所以这篇我用最新的 2025.01 版 dottrace 来演示一下 ...

一线码农 发布于 2025-06-25 12:20 评论(3) 阅读(522)
1

Dapr Conversation 构建块

Dapr Conversation 是 Dapr(Distributed Application Runtime)在 1.15 版本中引入的新 API(Alpha 阶段),旨在简化与大型语言模型(LLM)的交互流程,提供统一的接口以支持多模型提供商集成,同时强化性能优化与隐私保护能力。这个API可以 ...

张善友 发布于 2025-06-25 07:19 评论(0) 阅读(323)
22

一个基于 .NET 8 开源免费、高性能、低占用的博客系统

前言 今天大姚给大家分享一个基于 .NET 8 开源免费(MIT license)、高性能、高安全性、低占用的博客系统:Masuit.MyBlogs。 项目介绍 Masuit.MyBlogs 是一个基于 .NET 8 开源免费(MIT license)、高性能、高安全性、低占用的博客系统,该项目仅 ...

追逐时光者 发布于 2025-06-24 23:15 评论(12) 阅读(2025)