自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dotNET跨平台

在这里你可以谈微软.NET;Mono的跨平台开发技术,也可以谈谈其他的跨平台技术.;;在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,Linux主流平台

  • 博客(15946)
  • 收藏
  • 关注

转载 Rust musl/.NET-Glibc简析

点击上方蓝字 江湖评谈设为关注/星标前言先看下rust-glibc/musl再看下.net-glibc。rust-glibc从linux内核态到用户态的第一个函数:// https://elixir.bootlin.com/glibc/glibc-2.35/source/sysdeps/x86_64/start.SENTRY (_start) /* Clearing frame pointe...

2024-09-02 07:50:42 299

转载 在 .NET 中实现强大、多功能、高效且直观的机器学习

在这篇文章中,我们将介绍为什么您应该使用 Microsoft 的开源机器学习和 AI 框架 ML.NET。ML .NET 可用于生产当组织想要开始将机器学习或 AI 添加到其技术堆栈中时,对话通常会转向其他语言,如 Python 或 R。通常,第一次转向 AI / ML 的组织不确定如何开始,因此他们会查看流行的库和语言,例如 SciKit-Learn 和 Python。虽然这些库和语言功能强大,...

2024-09-02 07:50:42 395

转载 如何使用 EF Core 在 ASP.NET Core 中实现审核跟踪

在现代 Web 应用程序中,出于监控、合规性和调试原因,可能需要跟踪数据更改。此过程称为创建审计跟踪,允许开发人员查看谁进行了更改、何时进行了更改以及更改的内容。审计跟踪提供对数据所做更改的历史记录。在这篇博文中,我将展示如何使用 Entity Framework Core (EF Core) 在 ASP.NET Core 应用程序中实现审计跟踪。我们将审核的应用程序今天,我们将为具有以下实体的 ...

2024-09-02 07:50:42 426

转载 借助SiliconCloud API 构建自己的专属翻译助手

SimpleTranslationAIAgent介绍SimpleTranslationAIAgent是一款基于C#与LLM通过简单对话即可实现文件到文件的翻译任务的简单应用,基于WPF与Semantic Kernel构建。该软件是MIT协议完全开源免费的,但是调用LLM的API可能需要费用,但是没关系,赛博菩萨硅基流动有免费的模型可调了。这个Translation AI Agent只是一个简单的A...

2024-09-01 08:00:57 42

转载 处理100个请求的技术策略:从并发到优化的全面解析

在软件开发和系统设计的面试中,面试官常常会提出关于如何处理大量请求的问题。这类问题旨在考察应聘者对并发处理、系统设计和优化策略的理解。本文将深入探讨如何在面对100个请求时,从多个层面进行有效的处理和优化。一、理解请求的性质首先,我们需要明确这100个请求的性质。它们是同时到达的,还是陆续到达的?它们是对同一个资源的请求,还是分散到多个资源上的?对请求性质的准确理解将直接影响我们的处理策略。二、并...

2024-09-01 08:00:57 67

转载 防止10W QPS高并发下的重复下单:技术策略与实践

在当今的互联网应用中,高并发处理是一个常见的挑战,尤其是在电商、金融等涉及大量交易的场景中。其中,防止在高并发环境下重复下单是一个关键问题。本文将探讨几种有效的技术策略,以帮助系统在面对10万QPS(每秒查询量)或更高并发时,依然能够准确、高效地处理订单,避免重复下单的情况。1. 唯一标识符(Unique Identifier)策略描述:为每个订单生成一个全局唯一的标识符,通常使用UUID或数据库...

2024-09-01 08:00:57 75

转载 SimpleTranslationAIAgent:基于C#与LLM的翻译AI Agent

基于C#与LLM通过简单对话即可实现文件到文件的翻译任务该软件是MIT协议完全开源免费的,但是调用LLM的API可能需要费用,但是没关系,赛博菩萨硅基流动与智谱AI等都有免费的模型可调了。这个Translation AI Agent只是一个简单的AI Agent示例应用,可能很多人都不需要它。开源出来主要是为了感兴趣的同学可以在看源码之后,也可以使用C#+LLM构建出更有意思更能提高自己工作效率的...

2024-09-01 08:00:57 83

转载 架构设计随想1:TOKEN增加状态的五种方式

BCVP 开发者社区出品.NET 8.0开发数字化服务化绿色化在传统的RBAC机制中,接口权限是基于令牌中的角色来获取的,与令牌的生命周期或状态无关。事实上,token本身是无状态的。然而,系统开发通常需要一个状态来进行维护,因此在大多数项目中,通常会为无状态的token增加一个有状态的身份标识。0、双token机制通常,获取数据的access_token的有效时间很短,例如十分钟以内,然后通过动...

2024-09-01 08:00:57 93

转载 C# WPF 5种方式实现PDF打印

在C# WPF中实现PDF打印,可以通过多种方式来完成。以下是五种常见的方法:1. 使用Spire.PDF for .NET这是一个商业库,但提供了强大的PDF处理功能,包括打印。// 创建PdfDocument对象并加载PDF文档PdfDocument pdfDocument = new PdfDocument();pdfDocument.LoadFromFile("path_to_pdf"...

2024-09-01 08:00:57 226

转载 ASP.NET Core Web API 中使用 Gridify

在本文中,我们将探讨如何使用最新实践(包括依赖项注入)创建健壮的 ASP.NET Core Web API,以及使用控制器、服务层和存储库层构建应用程序。我们还将集成 Gridify NuGet 包,以演示跨多个使用案例的高级筛选功能,所有这些都在同一路由中。设置项目创建新的 ASP.NET Core Web API 项目:dotnet new webapi -n GridifyAdvancedD...

2024-09-01 08:00:57 366

原创 另一只猴子:从微软公告逐句解读 Mono 项目的历史与未来

“你们一定都听过关于他的故事。有人说他帮唐僧取到了真经,封了斗战胜佛,从此留在了灵山。也有人说那个成佛的根本不是他,真正的他早就死在了西行路上。还有人说,西游从来都没有发生过,它只不过是说书人杜撰的一只猴。但我要讲的故事你们一定没有听过。” ——《黑神话:悟空》《黑神话:悟空》最近在全球掀起了一股热潮。不过,本文的焦点并不是这位中国神话中的美猴王,也不是各位努力的天命人,而是技术世界中的另一只曾叱...

2024-09-01 08:00:57 664

转载 获取当前 Kubernetes namespace

在应用中获取当前所在 kubernetes 的 namespaceIntro最近看到一篇文章获取在 Kuberbetes 中的 namespace 通过 kubectl 来获取,并且还要配置 token,觉得太复杂了,我们也有在应用中获取当前所在的 Kubernetes 的 namespace,在 kubernetes 中会有一个默认in cluster 的配置,不过没有那么多的权限,如果要获取...

2024-08-31 08:01:20 74

转载 记一次 Garnet 的安装部署问题排查

本文主要以安装部署替代 Redis 的 Garnet 为例,介绍如何排查 Linux 系统中部署 .NET 独立应用程序时遇到的问题。通过检查文件权限、依赖库、SELinux 配置等方面,解决了应用程序无法正常运行的问题。1. 背景Garnet 是微软研究院的新开源项目,它是一个远程缓存存储,提供了一系列独特的优势。Garnet 采用了 Redis 的 RESP 协议作为起点,这使得开发者可以使用...

2024-08-31 08:01:20 88

转载 Elastic被三年前飞出的“回旋镖”打到了

“更改许可证是一个错误,现在 Elastic 后悔了。”Elastic 公司创始人兼首席技术官 Shay Banon 今日发表官方博客《Elasticsearch is open source, again》,宣布为旗下两大核心产品 ——Elasticsearch 搜索引擎和 Kibana 可视化平台添加 AGPL 作为另一个许可证选项,与 ELv2 和 SSPL 并列。AGPL 是经过 OSI...

2024-08-31 08:01:20 94

转载 基于Blazor开箱即用的企业级快速开发框架

我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现! 项目介绍 Known是一个基于Blazor开源的企业级快速开发框架,主要特点包括低代码、跨平台、开箱即用等。 Blazor介绍 Blazor 是基于 HTML、CSS 和 C# 的现代前端 Web 框架,可帮助你更快地生成 Web 应用。使用 Blazor,你可以使用可从客户端和服务器运行的...

2024-08-31 08:01:20 170

转载 ChatGPT学习之旅 (10) 系统全球化小助手

大家好,我是Edison。上一篇我们写了一个运维小助手的prompt,它帮我们写一些我们开发者不太愿意做的一些运维小任务。这一篇,给大家分享下我在日常的系统开发中遇到的多语言/全球化的任务中是如何通过GPT来帮忙完成的。背景:基于Blazor的Web应用支持多语言在Web应用开发中,我们可能会有一些需要多语言+本地化的场景,特别在一些国际化的外资企业当中特别常见。例如,Edison所在的IT开发团...

2024-08-31 08:01:20 182

转载 C#中为自动属性提供默认值的多种方法

引言在C#编程中,自动属性是一种便捷的语法,允许开发者以更简洁的方式定义属性,而无需显式声明私有字段。然而,在C# 6.0之前,自动属性不支持直接初始化。本文将介绍几种在C#中为自动属性提供默认值的方法,包括在构造函数中设置默认值、直接在属性声明中初始化,以及C# 9.0中引入的属性初始化器。在C#的早期版本中,若需要为自动属性设置默认值,通常的做法是在构造函数中进行。```csharppubl...

2024-08-31 08:01:20 214

转载 SecurityHeaders:为.Net网站添加安全标头,让Web更加安全、避免攻击!

网站的安全对于任何一家公司都是非常重要的。为了保证Web安全,其中Http安全标头就是非常重要一个的措施。设定正确的安全头可以增强网站的安全性,因为它们可以帮助防止各种网络攻击,如跨站脚本(XSS)、点击劫持(Clickjacking)和内容类型嗅探(Content Type Sniffing)等。下面推荐一个开源项目,可以让我们轻松地添加安全相关的HTTP头到网站中。01项目简介NetEscap...

2024-08-31 08:01:20 429

转载 用于保护 .NET API 的 4 种授权方法

身份验证和授权是所有 Web 应用程序的重要组成部分。熟悉 .NET 生态系统中的术语和方法可能特别令人生畏。传统上,这些领域是 .NET 中一些较大的痛点,许多开发人员发现与其他技术相比,实现适当的身份验证机制不必要地困难。然而,只了解一些核心原则和方法可以使它更容易接近。在本文中,我们将介绍四种最常见的授权方法,并指导您理解和选择最适合您需求的方法。授权和身份验证的区别在我们探讨处理身份验证和...

2024-08-31 08:01:20 511

转载 C#利用ffmpeg借助NVIDIA GPU实现实时RTSP硬解码+硬编码录制MP4

说明 利用周杰的开源项目 Sdcb.FFmpeg项目地址:https://github.com/sdcb/Sdcb.FFmpeg/代码实现参考:https://github.com/sdcb/ffmpeg-muxing-video-demo效果 项目 代码 usingSdcb.FFmpeg.Codecs;usingSdcb.FFmpeg.Formats;usingSdcb.FFmpeg....

2024-08-30 08:02:51 1117

原创 Mono 现状与未来:从Wine-mono 到.NET 9

Mono 官网主页[1]和 MonoGitHub 页面今日发布公告[2],微软宣布将 Mono 项目移交给 WineHQ 组织,也就是 Linux 兼容 Windows 应用框架 Wine 的开发团队。微软从 2014 年开始向.NET 开源发展,当时微软宣布.NET Core即将开源[3]。然而,在此之前,.NET 就已经有了一个名为 Mono 的开源计划。 Mono 项目始于 2001 年,...

2024-08-30 08:02:51 1144

转载 Semantic Kernel/C#:一种通用的Function Calling方法,文末附大模型清单

Funcion Calling介绍函数调用允许您将模型如gpt-4o与外部工具和系统连接起来。这对于许多事情都很有用,比如为AI助手赋能,或者在你的应用程序与模型之间建立深度集成。如果您了解或者使用过Semantic Kernel可能会发现除了OpenAI支持Function Calling的模型之外,自动函数调用好像并不好用,国产大模型几乎都不能使用,由于想解决这个问题,在GitHub上找到了一...

2024-08-30 08:02:51 2268

转载 Microsoft Help Page 与 Swashbuckle Help Page 深度解析

在构建Web API时,为API生成易于理解且功能完备的文档是一个重要的环节。它不仅帮助前端开发者和最终用户理解如何使用API,而且也是后端开发者进行API测试和维护的重要参考。本文将详细介绍两种在.NET中创建Web API帮助文档页面的方法:Microsoft Help Page和Swashbuckle Help Page,并提供具体的代码示例和实现步骤。在Visual Studio中,打开“...

2024-08-30 08:02:51 2539

转载 如何看待.NET 8的新功能.NET Aspire?

随着技术的不断进步,.NET 平台也在不断发展和完善。作为微软推出的新一代开发框架,.NET 8在功能和性能方面都进行了许多改进。其中,.NET Aspire是.NET 8中的一个新特性,它为开发者提供了一种全新的方式来构建和部署Web应用程序。那么,如何看待.NET 8中的这个新功能呢?一、.NET Aspire简介.NET Aspire是一个现代化的Web应用程序框架,旨在提供一种更简单、更快...

2024-08-30 08:02:51 2634

转载 C# 模式匹配终极指南:提高编码效率

在上一篇文章中,我们探讨了 C# 中条件语句的复杂性,重点介绍了它们如何实现动态和响应式软件开发。今天,我们将深入探讨 C# 的另一个基本特性:模式匹配。模式匹配在 C# 7.0 中引入并在后续版本中进行了改进,它使开发人员能够有效地检查对象类型和形状,从而提高代码的可读性和可维护性。无论您是模式匹配的新手,还是希望加深理解,本指南都将为您提供其各种模式和增强功能的全面概述。让我们深入了解并解锁 ...

2024-08-30 08:02:51 3670

转载 在SimpleRAG中使用SiliconCloud快速测试Function Calling

Funcion Calling介绍函数调用允许您将模型如gpt-4o与外部工具和系统连接起来。这对于许多事情都很有用,比如为AI助手赋能,或者在你的应用程序与模型之间建立深度集成。如果您了解或者使用过Semantic Kernel可能会发现除了OpenAI支持Function Calling的模型之外,自动函数调用好像并不好用,国产大模型几乎都不能使用,由于想解决这个问题,在GitHub上找到了一...

2024-08-30 08:02:51 3711

转载 C# 中将 List 转换为只读的 List

引言在 C# 编程中,有时我们需要创建一个 List 的只读版本,以确保集合的数据不被修改。这有助于防止数据在程序的其他部分被意外更改。本文将介绍如何在 C# 中将 List 转换为只读,并提供具体的代码示例。`ReadOnlyCollection<T>` 类是 `IList<T>` 接口的一个只读实现。使用 `ReadOnlyCollection<T>` 可以...

2024-08-30 08:02:51 4504

转载 回顾 | Semantic Kernel进阶系列(一)- 用不同语言使用Semantic Kernel构建Copilot应用...

点击蓝字关注我们编辑:Alan Wang排版:Rani Sun自2023年5月发布以来,随着 Semantic Kernel 的更新以及 AI 工具的不断进化,如今,我们已能够使用 Semantic Kernel 更加快速地构建基于不同语言的人工智能应用。8月,微软高级云技术布道师卢建晖带来「Semantic Kernel 进阶」系列课程,进一步带我们掌握不同语言的 Semantic Kernel...

2024-08-29 08:03:11 45

转载 主观与客观,破除DDD凭经验魔咒

本文书接上回《学习真DDD的最佳路径》,关注公众号(老肖想当外语大佬)获取信息:最新文章更新;DDD框架源码(.NET、Java双平台);加群畅聊,建模分析、技术实现交流;视频和直播在B站。神秘的“凭经验”一千个人眼中有一千个哈姆雷特,每个人的经历不同,认知不同,那么看待哈姆雷特的角度和感受也不同。在软件工程领域,也有著名的关于如何做好软件设计的观点:“凭经验”。然而,“凭经验”就意味着不可复制,...

2024-08-29 08:03:11 49

转载 WPF 用户控件翻转与内部的内容控件反翻转

WPF 用户控件翻转与内部的内容控件反翻转独立观察员 2024 年 8 月 28 日首先需要有一个左右方向的枚举:/// <summary>/// 左右方向/// </summary>public enum LeftRightOrientation{ Left, Right}然后在用户控件后台创建依赖属性 Orientation:并准备好如下样式:...

2024-08-29 08:03:11 52

转载 微软旗下开源.NET框架Mono正式“易主”——由负责“Windows应用兼容层”的Wine接手...

根据 Mono 官网的最新公告,该项目已被移交给 WineHQ 组织,后者是负责管理开源项目 Wine 的团队。Wine (“Wine Is Not an Emulator” 的首字母缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,macOS 及 BSD 等)上运行 Windows 应用的兼容层。它不是像虚拟机或者模拟器一样模仿内部的 Windows 逻辑,而是...

2024-08-29 08:03:11 60

转载 来自OpenAI官网的Function calling介绍与最佳实践

学习如何将大型语言模型连接到外部工具。介绍函数调用允许您将模型如gpt-4o与外部工具和系统连接起来。这对于许多事情都很有用,比如为AI助手赋能,或者在你的应用程序与模型之间建立深度集成。在2024年8月,我们推出了结构化输出功能。当你在函数定义中通过设置strict: true来开启时,结构化输出确保模型为函数调用生成的参数完全符合你在函数定义中提供的JSON架构。使用场景示例函数调用在许多用例...

2024-08-29 08:03:11 101

转载 .NET Core C#中的生成器设计模式

GOF设计模式。NET 的 Creational Pattern 类别包括 Builder Design Pattern。它用于逐步构建复杂的对象。它提供了一个用于构建产品组件的工具。我想在这篇文章中解释什么是建筑模式以及它是如何工作的。Builder 设计模式GOF 声称,Builder Design Pattern 使用循序渐进的方法和许多简单的组件来构建复杂的组件。为了能够使用相同的构造过程...

2024-08-29 08:03:11 104

转载 在 .NET8 中获取 k8s 集群的 namespace id

将程序和机器进行绑定是一种 License 校验的方法,需要能获取到机器的唯一标识,比如获取机器的 Mac 地址就是获取唯一标识的一种方式,命令如下:ifconfig|egrep'ether'|awk'{{print$2}}'但如果程序部署在 k8s 中,每次容器构建,使用上面命令获取的 Mac 地址就会发生变化,我使用 kubesphere 做测试发现的确如此。那么在 k8s 环境中想...

2024-08-29 08:03:11 121

转载 MVP 聚技站|一文道尽 RAG,为大模型提供你的私有知识

M点击蓝字 / 微软开发者MSDN关注我们作者:王豫翔 - 微软最有价值专家(MVP)排版:Alan Wang王豫翔微软最有价值专家(MVP) 王豫翔,拥有20余年编程经验,Microsoft AI MVP,一直致力于分享 Azure AI 相关技术。曾在多个大型研讨会担任讲者,包含 TechEd、Tech Summit、Ignite China、Al Bootcamp 等。专注人工智能领域技术创...

2024-08-29 08:03:11 180

转载 C#语言中的 SOLID 原则

SOLID 原则是一套指南,可以帮助开发人员创建更易于维护、易于理解和灵活的软件。这些原则是由 Robert C. Martin(Uncle Bob)提出的,并在面向对象编程社区中被广泛采用。在本文中,我们将探讨每个 SOLID 原则,并了解如何在 C# 中应用它们。1. Single Responsibility Principle (SRP)定义:一个类应该只有一个改变的原因,这意味着它应该只...

2024-08-28 08:21:53 39

转载 .NET9让指标更纯正

Metrics为程序健康运行提供了保驾护航,但过多的指标又会为问题调查,大屏展示,以及基础日志存储带来更多的负担,特别对一些几乎没有意义的指示,比如健康检查的请求指标。.NET 9 引入了一个新功能,允许在某些端点和请求上选择不采集HTTP 指标记录。你可以通过以下方法排除某些端点的指标记录:在 Web API 控制器、SignalR Hub 或 gRPC 服务上添加 [DisableHttpMe...

2024-08-28 08:21:53 39

转载 Scriban:高效、强大的.NET开源模板引擎,可用于邮件、文档生成!

现在前后端分离已经非常流行,我们已经很少关注模板生成引擎了。但在一些场景,比如邮件、文档生成,还是需要模板生成引擎的。下面推荐一个轻量级且高效的文本模板生成引擎。01项目简介Scriban是一个基于.NET的开源模板语言引擎,旨在简化文本生成任务。Scriban主要功能与特性:1、简洁的语法该模板引擎使用简单、语法简洁。例如,使用{{ variable }}输出变量,{% if condition...

2024-08-28 08:21:53 57

转载 一个开源的C#/.NET宝藏级编程技巧练习库

我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现! 项目介绍 DotNetExercises是一个开源,免费的针对C#/.NET/.NET Core编程技巧的综合性练习库。 开源地址 https://github.com/YSGStudyHards/DotNetExercises 内容概览 常用语法练习:包含C#/.NET/.NET Core...

2024-08-28 08:21:53 116

转载 浏览器播放RTSP流,支持H264、H265等格式,支持IE、Chrome等浏览器

说明 背景项目中需要在浏览器中播放RTSP流,实在是不想折腾ActiveX控件1、麻烦(开发麻烦、使用时设置也麻烦)2、浏览器兼容更麻烦解决方案使用OpenCvSharp+Nancy写一个解码服务,提供http接口,返回解码后Mat对象的Base64字符串,前端页面循环调用并展示。效果 项目 代码 前端代码调用<!DOCTYPEhtml><html><head&...

2024-08-28 08:21:53 339

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除