- 博客(826)
- 资源 (12)
- 收藏
- 关注
转载 ASP.NET Core Web中使用AutoMapper进行对象映射
前言在日常开发中,我们常常需要将一个对象映射到另一个对象,这个过程中可能需要编写大量的重复性代码,如果每次都手动编写,不仅会影响开发效率,而且当项目越来越复杂、庞大的时候还容易出现错误。为了解决这个问题,对象映射库就随之而出了,这些库可以自动完成对象之间的映射,从而减少大量的开发工作量,提高开发工作效率。今天我们来讲讲在ASP.NET Core Web中使用AutoMapper快速进行对象映射。使...
2024-05-22 08:02:58 2
转载 如何将应用程序从 .NET 6 迁移到 .NET 8
概述:随着 .NET 8 的发布,开发人员热衷于利用此升级附带的最新功能、性能改进和安全增强功能。但是,从 .NET 6(LTS(长期支持)版本)过渡到 .NET 8 需要仔细规划和执行,这主要是因为要跨主要版本进行转换。.NET 6 作为长期支持 (LTS) 发布周期的一部分,先后是 .NET 7 和 .NET 8。请务必谨慎处理此迁移,以确保兼容性并利用新功能和改进。本文提供了详细的路线图,以...
2024-05-21 08:00:21 7
转载 .NET Aspire 如何轻松集成RabbitMQ
本文由网友【Sky.楚子航】投稿unsetunset1. 了解.NET Aspireunsetunset.NET Aspire[1] 是微软推出的一个技术栈,旨在简化云原生应用的开发和管理。以下是关于.NET Aspire的详细介绍:定义与目的:.NET Aspire是一个固定的云端就绪技术栈,它用于构建可观察且生产就绪的分布式应用程序。其主要目的是简化云原生应用内各元素的协调和管理,帮助开发者更...
2024-05-20 08:03:22 9
转载 在 WebApi 项目中快速开始使用 RabbitMQ
RabbitMQ 是 VMware 一个非常强大的开源消息代理软件,通常用于处理背景任务,延迟消息和长时间运行的任务.它支持多种消息队列协议(AMQP,MQTT,STOMP 等),可以在分布式和联网环境中使用,提供了高可用性和可靠性.至于其他的一些优点也不必多说,这也不是我的风格.我喜欢的就是好用,稳,简单.????其他的更多的内容这里不再多说,以及 RabbitMQ 的 7 种工作模式.可以参考工良大...
2024-05-17 08:00:26 3
转载 .NET 中的压缩响应,减小带宽压力
在今天的文章中,我将讨论 .NET Core 中的“响应压缩”功能。首先,我想简单谈谈什么是“响应压缩”。_响应压缩_是 .NET Framework 或 .NET Core 中使用的一种技术。此技术通过压缩 Web 应用程序在服务器端发送的数据来减小数据的大小。这样可以减少网络流量,加快数据传输速度并改善用户体验。此压缩是使用 HTTP 协议执行的。服务器可以使用 Gzip、Deflate 或 ...
2024-05-10 08:01:53 15
转载 .NET 8 中的新增功能
概述:.NET 8 已发布,因此是时候开始将项目移植到新版本了。在本文中,我们将介绍新功能和增强功能:C# 12、性能、本机 AOT、GC、旨在提高性能的新类型、NuGet 审核等。C# 12中在本文中,我们已经介绍了 C# 12 的新功能。在那里,我们讨论了新的语言功能:主要构造函数、默认参数、集合表达式、内联数组等。这次没有太多重大变化。您如何看待此次更新?我们查看了它,并立即对新的 C# 分...
2024-05-08 08:01:11 22
转载 10 个 C#常用高级技巧
概述:作为 C# 开发人员,学习更高级的技术可以帮助您编写更简洁、更高效和更具创新性的代码。在本文中,我们将探讨一些十个高级 C# 技巧,这些技巧是为想要突破 C# 极限的更有经验的开发人员量身定制的。这些技巧可以提高代码的性能、可读性和可维护性。1. 利用元组获取多个返回值传统上,要从方法返回多个值,开发人员必须使用参数并创建自定义类或结构。但是,C# 7 引入了元组,这使得这样做更容易、更易读...
2024-05-07 08:00:35 13
转载 .NET 9 的10 个必知亮点
概述:.NET 9 带来了许多出色的功能和改进,可以改变开发人员为云原生应用编写代码的方式,同时提高性能。1. 增强的 JSON 序列化选项.NET 9 中的序列化通过可自定义的 JSON 输出提供了更大的灵活性。现在,您可以轻松自定义缩进字符及其大小,以获得更易读的 JSON 文件。var options = new JsonSerializerOptions { WriteI...
2024-05-06 08:00:18 55
转载 C#在工业数字孪生中的开发路线实践
前言随着工业智能化的迅速发展,数字孪生技术作为一种综合性的解决方案正逐渐在工业领域展现出巨大的潜力和价值。数字孪生的内容包括三维建模、数据映射、双向控制、虚实同步、预测优化。这一综合方案为实现智能化生产提供了全新的可能性。在数字孪生落地技术方案中,有许多种不同的实现方式,其中,C#作为一种强大而灵活的编程语言,提供了多种技术路径来构建数字孪生系统。本文将介绍几种基于C#的常见数字孪生落地技术方案。...
2024-04-30 09:00:21 80
转载 .NET 性能改善十大技巧
概述:今天,我将分享一些加速 .NET Core 应用的简单方法。没有花哨的词语,只有简单的东西。今天,我将分享一些加速 .NET Core 应用的简单方法。没有花哨的词语,只有简单的东西。1. 异步编程.NET Core 中的异步编程是增强应用程序的可伸缩性和响应能力的有效方法。它允许您的程序在等待操作(如 I/O 进程)完成时处理其他任务。何时使用异步编程:**I/O 绑定操作:**对涉及数据...
2024-04-29 08:00:44 28
转载 C# 中的动态查询实现方案和技巧
概述:想象一下,制作一个图书馆应用程序,用户可以毫不费力地按书名、作者或流派查找书籍。传统的搜索方法将您淹没在代码中。但不要害怕!C# 中的动态查询可以节省一天的时间。✅在我们的故事中,为每个书籍属性制定单独的搜索方法成为一个令人头疼的问题。代码变成了嵌套的 if 或 switch case 语句的迷宫,是一场噩梦:public IEnumerableBook GetBooks(string pr...
2024-04-26 08:00:46 35
转载 深入了解 C# 的 CancellationToken
。概述:最近,我开始涉足 C# 中的异步编程,同时编写了一个副项目,我看到很多方法使用在其签名中称为的东西。我知道这与取消异步操作有关(名称是一个死赠品,对吧?),但这就是我的知识范围。因此,我深入研究了这个话题,在这里,我展示了我迄今为止所学到的一切的简短版本。CancellationToken请注意,这篇文章并不涉及如何进行异步编程或基于 TAP/任务的异步模式,如果您想复习这些主题,这里有一...
2024-04-24 08:00:38 47
转载 记一次 .NET某设备监控自动化系统 CPU爆高分析
一:背景 1. 讲故事先说一下题外话,一个监控别人系统运行状态的程序,结果自己出问题了,有时候想一想还是挺讽刺的,哈哈,开个玩笑,我们回到正题,前些天有位朋友找到我,说他们的系统会偶发性CPU爆高,CPU上去了就下不来了,让我帮忙看一下怎么回事,而且自己也分析过了,没找到哪里有问题,写监控的都是高手,给我的第一感觉就是这个dump可能解决起来不容易,不管怎么说,有了dump就开干吧!二:WinDb...
2024-04-23 08:00:55 26
转载 使用 MSTestRunner 将单元测试制作为.NET应用独立可执行文件
以往的单元测试都是不能单独作为一个独立的可执行文件跑的,需要在 VisualStudio 或 VSTest 或 dotnet test 里面运行。这就限制了运行单元测试的环境了,有时候开发者可能期望在无 SDK 或开发环境下执行单元测试,这时就可以用到本文介绍的 MSTestRunner 功能,将单元测试制作为独立可执行文件将单元测试制作为可执行文件,运行此可执行文件即可运行单元测试。可执行文件可...
2024-04-22 08:00:57 31
转载 [MAUI]集成富文本编辑器Editor.js至.NET MAUI Blazor项目
目录获取资源从源码构建从CDN获取获取扩展插件创建项目创建控件创建Blazor组件初始化保存销毁编写渲染逻辑实现只读/编辑功能切换模式获取只读模式状态响应切换事件实现明/暗主题切换项目地址Editor.js是一个基于 Web 的所见即所得富文本编辑器,它由CodeX团队开发。之前写过一篇博文专门介绍过这个编辑器,可以回看:开源好用的所见即所得(WYSIWYG)编辑器:Editor.js。.NET...
2024-04-17 08:00:26 38
转载 构建多平台支持的 .NET 容器镜像
构建多平台支持的 .NET 容器镜像Intro最近看到有朋友在尝试在 arm 上支持的docker 镜像刚好之前对 dotnet-exec 的镜像添加了多平台的支持,之前仅支持 x64 的平台,新增了对于 arm 的支持,于是想分享一下如何针对 Dockerfile 改造以支持多平台,之前有一篇官方博客介绍了多平台的容器支持,可以参考文末的参考链接,希望对大家有所帮助Sample多平台构建 Do...
2024-04-16 08:00:24 30
转载 .NET 8 使用 Direct2D 绘制界面及 AOT 发布
这是我用不到 370 行代码,从零开始控制台创建 Win32 窗口,再挂上交换链,在窗口上使用 D2D 绘制界面内容。最后使用 AOT 方式发布的测试应用。成品文件体积不超过 10MB 且运行内存稳定在 60MB 以内,满帧率运行但 CPU 近乎不动整个测试应用采用了 .NET 8 的框架,用于更好的支持 AOT 发布使用了 Vortice 系列库用于对 DirectX 的封装,方便让编写调用 D...
2024-04-15 08:01:11 43
转载 本周六“盛派 3.14 技术开放日”等你来参加!
盛派 3.14 技术开放日盛派将3 月 14 日定为盛派技术开放日为庆祝这个节日去年,我们举办了“盛派 3.14 技术开放日”活动备受开发者欢迎????????去年活动精彩瞬间????️????️今年“盛派 3.14 技术开放日”活动将于本周六( 4 月 13 日)开展地址????️苏州工业园区翠薇街 1 号独墅湖体育中心一期 A 栋(青创港)由于下午有实操工作坊建议大家带笔记本并带充电器扫描二维码报名或点击“阅读原文”报名...
2024-04-11 08:00:57 32
转载 .NET 使用Semantic Kernel实现图片内容识别
前言前几日在浏览devblogs.microsoft.com[1]的时候,看到了一篇名为Image to Text with Semantic Kernel and HuggingFace[2]的文章。这篇文章大致的内容讲的是,使用Semantic Kernel结合HuggingFace来实现图片内容识别。注意,这里说的是图片内容识别,并非是OCR,而是它可以大致的描述图片里的主要内容。我...
2024-04-10 08:00:08 54
转载 拥抱AI浪潮,掌握提升十倍生产力的秘诀!
引言自 2022 年 ChatGPT 的横空出世以来,人工智能领域迎来了一波创新的高潮。AI Agent、Copilot、Sora 等工具以其显著提升生产力的能力,迅速成为开发者关注的焦点。AI 技术是否会引发新一轮的生产力革命,已经不再是一个悬而未决的问题。随着 AI 技术的迅猛发展和相关工具的广泛应用,企业业务流程的效率得到了前所未有的提升。同时,这也带来了对企业用人需求和岗位结构的重新调整。...
2024-04-09 08:00:24 36
转载 Qdrant 向量数据库的部署以及如何在 .NET 中使用 TLS 安全访问
本文介绍如何使用 Docker 部署 Qdrant 向量数据库,以及其相关的安全配置,并演示如何使用 .NET 通过 TLS 安全访问 Qdrant 向量数据库。1. 背景随着 AIGC 的发展,向量数据库已经成为一个重要的资源,可以高效地存储和检索大量的向量数据。向量数据库在需要相似性搜索的各种应用中起着至关重要的作用,例如:作为推荐系统,基于内容的图像检索和个性化搜索。通过使用向量数据库,我们...
2024-04-08 08:03:10 79
转载 UOS 之VisualStudio 远程调试
本文记录的是在 Windows 系统里面,使用 VisualStudio 2022 远程调试运行在 UOS 里面 dotnet 应用的配置方法本文写于 2024.03.19 如果你阅读本文的时间距离本文编写的时间过于长,那本文可能包含过期的知识我将以我的 UOS 虚拟机作为例子告诉大家如何在 Windows 系统里面,使用 VisualStudio 2022 远程调试运行在 UOS 里面 dotn...
2024-04-07 08:00:28 47
转载 开发者阵营分化,.NET 开源生态系统如何走向未来?
作者 | Aaron Stannard译者 | Sambodhi策划 | 凌敏本文深入剖析了 .NET 开发者对生态系统的复杂情感。一方面,他们依赖微软提供的解决方案,认为这最为稳妥;另一方面,他们又对第三方工具抱有担忧,在信任与恐惧之间挣扎。在 .NET 生态系统中,各种观点相互碰撞,有的开发者坚定地支持微软的首选方案,而有的则强调多样性和选择的重要性。然而,文章也揭示了单一选择可能带来的局限性...
2024-04-03 08:01:02 34
转载 .NET 9 中的 TaskCompletionSource.SetFromTask
.NET 9 Preview 1 中的 TaskCompletionSource.SetFromTaskIntro.NET 9 Preview 1 中为 TaskCompletionSource/TaskCompletionSource<T> 引入了一个 SetFromTask/TrySetFromTask 的方法,可以从一个已完成的 task 设置 TaskCompletionSou...
2024-04-02 08:03:40 29
转载 构建SatelliteRpc:基于Kestrel的RPC框架(整体设计篇)
背景之前在.NET 性能优化群内交流时,我们发现很多朋友对于高性能网络框架有需求,需要创建自己的消息服务器、游戏服务器或者物联网网关。但是大多数小伙伴只知道 DotNetty,虽然 DotNetty 是一个非常优秀的网络框架,广泛应用于各种网络服务器中,不过因为各种原因它已经不再有新的特性支持和更新,很多小伙伴都在寻找替代品。这一切都不用担心,在.NET Core 以后的时代,我们有了更快、更强、...
2024-04-01 08:02:02 36
转载 使用.NET自托管 Garnet 服务
Garnet 是 Microsoft Research 推出的一个新的远程缓存存储,旨在实现极快、可扩展和低延迟.Garnet 可在单个节点内进行线程扩展.它还支持分片集群执行,包括复制、检查点、故障转移和事务.它可以在主内存以及分层存储(例如 SSD 和 Azure 存储)上运行.Garnet 支持丰富的 API 图面和强大的扩展性模型.更多的细节以及和 Redis 的性能对比,可以参考 InC...
2024-03-29 08:00:17 199
转载 64位世界中的 WinForms
作者:Klaus Loeffelmann排版:Rani Sun作为一个依靠创新和发展而蓬勃发展的社区的一部分,WinForms 开发人员经常突破界限来创造新的可能性。我们的开发人员还负责维护业务软件的关键任务线,这通常需要十年以上的时间。我们重视您的信任和您对使用我们的工具创建出色的软件解决方案的热情。如您所知,Visual Studio 2022 从 32 位到 64 位的过渡引发了一些复杂问题...
2024-03-27 08:00:54 41
转载 在 .NET 中使用 OPC UA 协议
什么是 OPC UAUaExpert 的使用下载 UaExpert首次启动添加 OPC UA 服务器连接 OPC UA 服务器查看 PLC 数据使用 C# 读写 OPC UA 数据连接到 OPC UA 服务器获取节点的值写入节点的值什么是 OPC UAOPC UA(OPC Unified Architecture,开放平台通信统一架构)是 OPC 基金会应用在自动化技术的机器对机器网络传输协定。O...
2024-03-26 08:00:28 95
转载 一文精通.NET Swagger 使用
一文精通.NET Swagger 使用❝在后端开发中,常用 Web API 模式,对外提供 RESTful API 让前端调用.而其中最著名的就是使用 Swagger(俗称:丝袜哥),Swagger 不但提供了非常直观的页面供开发者查看,还能配置注释说明,分组等,还可以直接在浏览器上测试接口,可以说是,现在不用 Swagger 的后端开发者不是个好开发者.本文将针对我在日常工作中使用 Swagge...
2024-03-25 08:02:07 191
转载 使用Android手机运行.NET
使用我们闲置或者不闲置的 Android 手机安装.NET❝都 2024 年了,微软对.NET 开源已经 9 个年头了,至今甚至还有不少搞 Java 开发的人说.NET 不开源,不跨平台.这里我只能建议这些搞 Java 的人多上网看看世界.自从 .NET 6 开始微软便开始提供基于 ARM64 平台的.NET SDK.所以我们可以在 Android 平台上运行 .NET 6.0 及以后的所有 .N...
2024-03-22 08:00:13 153
转载 Garnet: 力压Redis的C#高性能分布式存储数据库
今天看到微软研究院开源了一个新的C#项目,叫Garnet,它实现了Redis协议,可以直接将Redis替换为Garnet,客户端不需要任何修改。根据其官网的信息,简单的介绍一下它。开源仓库地址:https://github.com/microsoft/garnet文档地址:https://microsoft.github.io/garnet/Garnet是微软研究院基于C# .NET8.0开发的一...
2024-03-20 08:01:04 504
转载 谈谈C# 以管理员方式启动实现过程
unsetunset前言unsetunset本文由网友(@nobody)投稿,欢迎留言技术讨论。以管理员方式不只是简单的启动一个进程,在实际开发过程中遇到的情况可能会复杂的多。比如用户打开应用程序就是以管理员方式启动的,那这个时候就不需要再以管理员方式自启;比如用户是在无人值守的情况下使用,就需要考虑管理员提权的提示行为,只有在”不提示,直接提升“的情况下才以管理员方式启动;比如管理员启动方式会进...
2024-03-19 08:00:34 53
转载 WebAssembly核心编程之Memory
由于Memory存储的是单纯的二进制字节,所以原则上我们可以用来它作为媒介,在wasm模块和数组程序之间传递任何类型的数据。在JavaScript API中,Memory通过WebAssembly.Memory类型表示,我们一般将它内部的缓冲区映射相应类型的数组进行处理。WebAssembly也提供了相应的指令来提供针对Memory的读、写、扩容等操作(源代码从这里下载)。一、容量限制与扩容二、内...
2024-03-18 08:00:51 69
转载 WebAssembly核心编程之Module 与 Instance
WebAssembly程序总是以模块来组织,模块是基本的部署、加载和编译单元。在JavaScript编程接口中,模块通过WebAssembly.Module类型表示。WebAssembly.Module通过加载的.wasm二进制文件创建而成,它承载了描述wasm模块的元数据,类似于描述程序集的Assembly对象。WebAssembly.Module自身是只读且无状态的,有状态的是根据它结合指定...
2024-03-14 08:03:10 62
转载 WebAssembly核心编程之wasm模块实例化的N种方式
当我们在一个Web应用中使用WebAssembly,最终的目的要么是执行wasm模块的入口程序(通过start指令指定的函数),要么是调用其导出的函数,这一切的前提需要创建一个通过WebAssembly.Instance对象表示的wasm模块实例一、wasm模块实例化总体流程二、利用WebAssembly.Module创建实例三、通过字节内容创建创建实例四、利用XMLHttpRequest加载wa...
2024-03-13 08:00:24 85
转载 WebAssembly之利用Global传递全局变量
利用WebAssembly的导入导出功能可以灵活地实现宿主JavaScript程序与加载的单个wasm模块之间的交互,那么如何在宿主程序与多个wasm之间传递和共享数据呢?这就需要使用到Global这个重要的对象了。一、数值类型全局变量二、将JavaScript函数设置为全局变量三、利用全局变量处理字符串一、数值类型全局变量Global全局变量支持多种值类型,包括数组(i32/i64和f32/f6...
2024-03-12 08:03:41 52
转载 WebAssembly之利用Table传递引用
在《WebAssembly入门笔记[2]》中,我们介绍了如何利用Memory在作为宿主的JavaScript应用和wasm模块之间传递数据,但是Memory面向单纯二进制字节的读写在使用起来还是不太方便,此时我们会更多地用到另一个重要的对象Table。Table利用用来存储一组指定类型的对象,说得准确一点是对象的引用,所以可以读取出来直接消费。一、利用Table存储wasm函数引用二、执行call...
2024-03-11 08:00:43 36
转载 WebAssembly入门之利用Memory传递字节数据
利用灵活的“导入”和“导出”机制,WebAssembly与承载的JavaScript应用之间可以很便利地“互通有无”。《与JavaScript的交互》着重演示了如何利用函数的导入和导出实现功能的共享,接下来我们主要关注数据的传递或者共享。总的来说,WebAssembly与宿主程序之间的数据传递主要有如下三种手段,本篇文章主要关注Memory。源代码下载:app3app4Memory:以二进制(字...
2024-03-07 08:03:58 51
转载 WebAssembly入门之JavaScript的交互
前一阵子利用Balazor开发了一个NuGet站点,对WebAssembly进行了初步的了解,觉得挺有意思。在接下来的一系列文章中,我们将通过实例演示的方式介绍WebAssembly的一些基本概念和编程模式。首先我们先来说说什么是WebAssembly,它主要帮助我们解决什么问题。本文演示实例下载:app1app2一、概述二、WebAssembly程序(app.wat)三、编译生成app.wa...
2024-03-06 08:00:51 41
转载 在Avalonia项目中使用MediatR和MS.DI库实现事件驱动通信
大家好,我是沙漠尽头的狼!AvaloniaUI是一个强大的跨平台.NET客户端开发框架,让开发者能够针对Windows、Linux、macOS、Android和iOS等多个平台构建应用程序。在构建复杂的应用程序时,模块化和组件间的通信变得尤为重要。Prism框架提供了模块化的开发方式,支持插件的热拔插,而MediatR则是一个实现了中介者(Mediator)模式的事件订阅发布框架,非常适合用于模块...
2024-03-05 08:00:28 37
金山卫士部分已经开放了的源代码下载
2010-12-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人