.NET9详解系列之一: .NET9的新特性

前言 .NET 9已经正式发布,作为 .NET 8 的下一代,特别关注 云原生应用 和 性能优化。作为标准期限支持(STS)版本,它将在未来 18 个月内持续更新。无论你是刚接触 .NET 的开发者,还是希望了解最新技术动态,本文将带你深入探索 .NET 9 的核心改进,帮助你更好地理解和应用这些新特性。 一...

阅读更多

Semantic Kernel 入门系列之一: 什么是Semantic Kernel

链接地址: https://www.bilibili.com/video/BV1XxySY5Ek5/ 1. 前言 随着大语言模型的迅速发展与普及,自然语言处理的门槛不断降低,越来越多的开发者希望在他们的系统中集成AI功能以提升用户体验。今天,我们将介绍一款名为Semantic Kernel(简称SK)的轻...

阅读更多

基于JObject.SelectTokens和JSONPath动态解析JSON

1. 前言 在处理复杂的 JSON 数据时,经常需要从不同层级中提取特定的字段值。对于技术人员来说,理解并掌握如何使用 JObject.SelectTokens 方法结合 JSONPath 表达式进行这种动态提取是一项非常有用的技能。本文将指导你如何使用这些工具来获取所有 popupData 对象下的 fron...

阅读更多

如何在C#代码中执行JavaScript代码

1. 前言 选择在C#中执行JavaScript代码的库取决于你的具体需求、性能考虑、以及与Node.js生态系统的集成程度。主要有Jint、Edge.js、ClearScript三个选项。 2. Jint Jint 是一个用于 .NET 的 JavaScript 解释器。它允许你在 .NET 应用程序中嵌...

阅读更多

ASP.NET Core应用基于Basic认证实现Swagger需要登录才能访问

1. 背景 Swagger是一个广泛使用的API文档和交互工具。在开发过程中,我们通常希望Swagger文档能够被公开访问,以便于开发者理解和使用API。然而,在生产环境中,出于安全和隐私的考虑,我们可能需要限制对Swagger文档的访问。Basic认证是一种简单而有效的方法,可以帮助我们实现这一目标。 2....

阅读更多

.NET Framework升级.NET8之九: 如何管理不同目标框架

前言 将项目迁移到新的目标框架(TFM)是一项复杂的任务,尤其是在处理不同TFM之间的兼容性问题时。建议将迁移相关的PBIs(产品待办事项)集中处理,并将主分支过渡到新的TFM。做出这一判断需要仔细考虑PBIs的数量及其预计完成时间等因素。 以下是一些在管理与新旧TFM不兼容的更改时的主要方案: 使用#if...

阅读更多

.NET Framework升级.NET8之八: 如何将edmx迁移到EF Core

前言 某些较旧的.NET Framework 项目会使用 EDMX,而不是现代的 DbContext(DbContext 最初是在 Entity Framework 4.1 中引入的),该版本在 2012 年首次引入了 DbContext 和 Code-First 方法,取代了 EDMX 所使用的 Object...

阅读更多

使用反射和JSON序列化动态生成匿名对象

1. 前言 在开发过程中,我们经常需要处理类对象和JSON对象之间的转换, 我需要根据一个类对象生成一个新的匿名对象,同时排除一些不需要的属性。例如,在API调用时,我们可能只希望返回某些属性,而不是整个对象的所有属性。在本文中,我将向您展示如何使用反射和JSON序列化来实现这一目标。 2. 实现步骤 2....

阅读更多