- 博客(800)
- 资源 (12)
- 收藏
- 关注
转载 64位世界中的 WinForms
作者:Klaus Loeffelmann排版:Rani Sun作为一个依靠创新和发展而蓬勃发展的社区的一部分,WinForms 开发人员经常突破界限来创造新的可能性。我们的开发人员还负责维护业务软件的关键任务线,这通常需要十年以上的时间。我们重视您的信任和您对使用我们的工具创建出色的软件解决方案的热情。如您所知,Visual Studio 2022 从 32 位到 64 位的过渡引发了一些复杂问题...
2024-03-27 08:00:54 1
转载 在 .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 7
转载 一文精通.NET Swagger 使用
一文精通.NET Swagger 使用❝在后端开发中,常用 Web API 模式,对外提供 RESTful API 让前端调用.而其中最著名的就是使用 Swagger(俗称:丝袜哥),Swagger 不但提供了非常直观的页面供开发者查看,还能配置注释说明,分组等,还可以直接在浏览器上测试接口,可以说是,现在不用 Swagger 的后端开发者不是个好开发者.本文将针对我在日常工作中使用 Swagge...
2024-03-25 08:02:07 14
转载 使用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 15
转载 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 260
转载 谈谈C# 以管理员方式启动实现过程
unsetunset前言unsetunset本文由网友(@nobody)投稿,欢迎留言技术讨论。以管理员方式不只是简单的启动一个进程,在实际开发过程中遇到的情况可能会复杂的多。比如用户打开应用程序就是以管理员方式启动的,那这个时候就不需要再以管理员方式自启;比如用户是在无人值守的情况下使用,就需要考虑管理员提权的提示行为,只有在”不提示,直接提升“的情况下才以管理员方式启动;比如管理员启动方式会进...
2024-03-19 08:00:34 10
转载 WebAssembly核心编程之Memory
由于Memory存储的是单纯的二进制字节,所以原则上我们可以用来它作为媒介,在wasm模块和数组程序之间传递任何类型的数据。在JavaScript API中,Memory通过WebAssembly.Memory类型表示,我们一般将它内部的缓冲区映射相应类型的数组进行处理。WebAssembly也提供了相应的指令来提供针对Memory的读、写、扩容等操作(源代码从这里下载)。一、容量限制与扩容二、内...
2024-03-18 08:00:51 11
转载 WebAssembly核心编程之Module 与 Instance
WebAssembly程序总是以模块来组织,模块是基本的部署、加载和编译单元。在JavaScript编程接口中,模块通过WebAssembly.Module类型表示。WebAssembly.Module通过加载的.wasm二进制文件创建而成,它承载了描述wasm模块的元数据,类似于描述程序集的Assembly对象。WebAssembly.Module自身是只读且无状态的,有状态的是根据它结合指定...
2024-03-14 08:03:10 13
转载 WebAssembly核心编程之wasm模块实例化的N种方式
当我们在一个Web应用中使用WebAssembly,最终的目的要么是执行wasm模块的入口程序(通过start指令指定的函数),要么是调用其导出的函数,这一切的前提需要创建一个通过WebAssembly.Instance对象表示的wasm模块实例一、wasm模块实例化总体流程二、利用WebAssembly.Module创建实例三、通过字节内容创建创建实例四、利用XMLHttpRequest加载wa...
2024-03-13 08:00:24 21
转载 WebAssembly之利用Global传递全局变量
利用WebAssembly的导入导出功能可以灵活地实现宿主JavaScript程序与加载的单个wasm模块之间的交互,那么如何在宿主程序与多个wasm之间传递和共享数据呢?这就需要使用到Global这个重要的对象了。一、数值类型全局变量二、将JavaScript函数设置为全局变量三、利用全局变量处理字符串一、数值类型全局变量Global全局变量支持多种值类型,包括数组(i32/i64和f32/f6...
2024-03-12 08:03:41 15
转载 WebAssembly之利用Table传递引用
在《WebAssembly入门笔记[2]》中,我们介绍了如何利用Memory在作为宿主的JavaScript应用和wasm模块之间传递数据,但是Memory面向单纯二进制字节的读写在使用起来还是不太方便,此时我们会更多地用到另一个重要的对象Table。Table利用用来存储一组指定类型的对象,说得准确一点是对象的引用,所以可以读取出来直接消费。一、利用Table存储wasm函数引用二、执行call...
2024-03-11 08:00:43 7
转载 WebAssembly入门之利用Memory传递字节数据
利用灵活的“导入”和“导出”机制,WebAssembly与承载的JavaScript应用之间可以很便利地“互通有无”。《与JavaScript的交互》着重演示了如何利用函数的导入和导出实现功能的共享,接下来我们主要关注数据的传递或者共享。总的来说,WebAssembly与宿主程序之间的数据传递主要有如下三种手段,本篇文章主要关注Memory。源代码下载:app3app4Memory:以二进制(字...
2024-03-07 08:03:58 17
转载 WebAssembly入门之JavaScript的交互
前一阵子利用Balazor开发了一个NuGet站点,对WebAssembly进行了初步的了解,觉得挺有意思。在接下来的一系列文章中,我们将通过实例演示的方式介绍WebAssembly的一些基本概念和编程模式。首先我们先来说说什么是WebAssembly,它主要帮助我们解决什么问题。本文演示实例下载:app1app2一、概述二、WebAssembly程序(app.wat)三、编译生成app.wa...
2024-03-06 08:00:51 10
转载 在Avalonia项目中使用MediatR和MS.DI库实现事件驱动通信
大家好,我是沙漠尽头的狼!AvaloniaUI是一个强大的跨平台.NET客户端开发框架,让开发者能够针对Windows、Linux、macOS、Android和iOS等多个平台构建应用程序。在构建复杂的应用程序时,模块化和组件间的通信变得尤为重要。Prism框架提供了模块化的开发方式,支持插件的热拔插,而MediatR则是一个实现了中介者(Mediator)模式的事件订阅发布框架,非常适合用于模块...
2024-03-05 08:00:28 11
转载 我们对 .NET 9 的愿景
作者:.NET 团队排版:Alan Wang欢迎来到 .NET 9!继几个月前成功发布 .NET 8 之后,我们又进入了一个新年度发布周期。我们建议开发人员将他们的应用程序迁移到 .NET 8。在这篇文章中,我们将分享我们对 .NET 9 的初步设想,它将于年底在 .NET Conf 2024 上发布。我们最关注的领域是云原生和智能应用程序开发。您可以期待我们在提升性能、生产力和安全性以及整个平台...
2024-03-04 08:00:54 23
转载 细聊ASP.NET Core WebAPI格式化程序
前言 我们在使用ASP.NET Core WebApi时它支持使用指定的输入和输出格式来交换数据。输入数据靠模型绑定的机制处理,输出数据则需要用格式化的方式进行处理。ASP.NET Core框架已经内置了处理JSON和XML的输入和输出方式,默认的情况我们提交JSON格式的内容,它可以自行进行模型绑定,也可以把对象类型的返回值输出成JSON格式,这都归功于内置的JSON格式化程序。本篇文章...
2024-02-29 08:00:29 22
转载 .NET NativeAOT 指南
随着 .NET 8 的发布,一种新的“时尚”应用模型 NativeAOT 开始在各种真实世界的应用中广泛使用。除了对 NativeAOT 工具链的基本使用外,“NativeAOT”一词还带有原生世界的所有限制,因此您必须知道如何处理这些问题才能正确使用它。在这篇博客中,我将讨论它们。基本用法使用 NativeAOT 非常简单,只需要在发布应用时使用 MSBuild 传递一个属性PublishAo...
2024-02-26 08:00:11 29
转载 C# 12 中新增的八大功能你都知道吗?
前言转眼之间C#都已经更新到了12了,那么C# 12 中新增的八大功能你都了解过吗?今天我们来简单介绍一下C# 12 中新增的八大功能。C#/.NET该如何自学入门?C#12详细功能介绍请阅读微软官方文档:https://learn.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-12同学们可以使用最新的 Visual Studio 2022 ...
2024-02-23 08:00:09 24
转载 .NET Conf china 2023 Watch Party【长沙站】倒计时3天
长沙.NET技术社区组织的《AI驱动下的开发者新生态》正在火热报名中,目前名额不多,不要犹豫哦~活动时间:2024年2月25日下午1点30-5点30,地点:长沙市麓云路地铁站附近-梅溪湖创新中心19楼大会议室。报名方式:扫描海报中的小程序二维码或查看这篇文章的原文,或者拷贝链接地址【https://hdxu.cn/8aUjf】到浏览器打开都可以哦~图片路线图导航目的地:梅溪湖创新中心图片附近交通方...
2024-02-22 08:00:32 22
原创 AIGC程序员效能提升之道
得益于IT产业近几年的繁荣,老杨所在公司的业务也出奇的兴隆,每天干不完的工作背后,也意味着健康的消耗和体重的不断增加。曾记否,刚毕业的老杨体重刚刚堪堪破百,同事们经常调侃他说是一阵风就能吹走,经过了十年的拼搏,他的体重终于达到了130斤。而自从来到这家公司之后,短短两年时间,他的体重暴涨了20斤,就达到了150斤。他也终于体会到人到中年的感受,肚腩越来越大,裤头涨到了38码,他经常自诩肥肉就...
2024-02-21 22:53:00 863
原创 AIGC程序员快速搞钱之道
得益于IT产业近几年的繁荣,老杨所在公司的业务也出奇的兴隆,每天干不完的工作背后,也意味着健康的消耗和体重的不断增加。曾记否,刚毕业的老杨体重刚刚堪堪破百,同事们经常调侃他说是一阵风就能吹走,经过了十年的拼搏,他的体重终于达到了130斤。而自从来到这家公司之后,短短两年时间,他的体重暴涨了20斤,就达到了150斤。他也终于体会到人到中年的感受,肚腩越来越大,裤头涨到了38码,他经常自诩肥肉就是自己...
2024-02-21 08:00:13 830
原创 没有面向对象,你以为可以为所欲为吗
工作一年的你,新建一个控制器,引入数据库对象,然后吭哧吭哧的完成业务逻辑,返回前端数据,完成了一天的工作的你感到有些不完美,觉得加个内存缓存会减少数据库的压力,当然加入redis 后,更能让你小小的满足了一下,随着业务的数据的变大,你加上了消息队列,削峰填谷嘛,我们都懂。但是,代码里面你用的都是一个一个的对象,这时候,你偶尔也会反思下自己,真的懂OOP 吗?OOP 就是在一堆各种对象里面,然后写一...
2024-02-20 08:02:28 330
原创 什么是.NET技术人的进阶秘诀?兴趣+对.NET的坚定信心
作为一位内地城市的开发者,我经常纠结于未来职业发展之路,增删改查的循环往复,几乎已经成为我工作的全部,似乎一眼都看不到头。是啊,也不记得写了多久的业务代码?程序员就是一成不变的写业务代码吗?在这条看似无尽的编码旅程中,我们,一群默默无闻的程序员,似乎总是被困在业务代码的无尽海洋里。清晨的第一缕阳光照进办公室时,我们已经开始了一天的编码;当夜幕降临,城市万家灯火通明时,我们依旧在电脑前与bug搏斗,...
2024-02-19 08:00:45 348
原创 AI驱动下的开发者新生态-2024长沙社区活动
回顾2019年初,在.NET中文社区及包括苏州、广州、深圳等地区社区等大力推动、在众多企业的大力支持下,长沙地区的开发者们发起成立了长沙.NET技术社区,并组织了《2019年长沙开发者技术大会》,当时参会人数超过200多人,会上宣讲的约6个话题,也一度成为长沙地区比较热门的技术话题,在社区激起了一定的学习热潮。图片然而,由于疫情和种种原因,这样的线下活动未能持续举行,某种意义上来说,可能是一种遗憾...
2024-02-16 08:00:36 914
原创 《AI驱动下的开发者新生态》-2024长沙.NET技术社区活动-诚邀大家报名
回顾2019年初,在.NET中文社区及包括苏州、广州、深圳等地区社区等大力推动、在众多企业的大力支持下,长沙地区的开发者们发起成立了长沙.NET技术社区,并组织了《2019年长沙开发者技术大会》,当时参会人数超过200多人,会上宣讲的约6个话题,也一度成为长沙地区比较热门的技术话题,在社区激起了一定的学习热潮。然而,由于疫情和种种原因,这样的线下活动未能持续举行,某种意义上来说,可能是一种...
2024-02-15 21:16:00 375
转载 ASP.NET Core 8 垃圾回收的两种模式
在 .NET 8 中,服务器 GC 现在支持动态堆计数,它们添加了一个被称为“动态适应应用程序大小”或 DATAS 的特性。它在 .NET 8 中通常是默认关闭的(尽管在为 Native AOT 发布时默认开启),但可以很容易地启用,要么通过将 DOTNET_GCDynamicAdaptationMode 环境变量设置为 1,要么通过 <GarbageCollectionAdaptation...
2024-02-02 08:00:34 81
转载 为.NET桌面应用添加国际化支持
本文以Snipping_OCR[1]项目为例,介绍如何使用资源文件为.NET桌面应用添加国际化支持。1. 引言当前,不少企业都有开拓海外市场的意向,因此,为应用程序添加国际化支持是很有必要的。本文将介绍如何通过简单的方法为.NET桌面应用添加国际化支持。2. 添加国际化支持在 .NET 的桌面应用中,我们可以通过资源文件 (.resx) 来实现国际化。最佳的做法是为每种语言创建一个资源文件,然...
2024-01-31 08:00:34 34
转载 记一次.NET某工控 宇宙射线 导致崩溃分析
一:背景 1. 讲故事为什么要提 宇宙射线, 太阳耀斑 导致的程序崩溃呢?主要是昨天在知乎上看了这篇文章:莫非我遇到了传说中的bug?,由于 rip 中的0x41变成了0x61出现了bit位翻转导致程序崩溃,截图如下:下面的评论大多是说由于 宇宙射线,这个太玄乎了,说实话看到这个 传说bug 的提法,我还是挺兴奋的,毕竟在我的分析旅程中,我也是真的遇到过,这篇就拿出来给大家分享吧,当时百思不得其解...
2024-01-30 08:00:36 34
转载 聊一聊 C# 的线程本地存储TLS到底是什么
一:背景 1. 讲故事有朋友在后台留言让我说一下C#的 ThreadStatic 线程本地存储是怎么玩的?这么说吧,C#的ThreadStatic是假的,因为C#完全是由CLR(C++)承载的,言外之意C#的线程本地存储,用的就是用C++运行时提供的 __declspec(thread) 或 __thread 来虚构的一套玩法,这一篇我们就来简单聊一聊。二:C# 的线程本地存储 1. 虚构在哪里在...
2024-01-29 08:01:01 27
转载 C#对象二进制序列化优化:位域技术实现极限压缩
1. 引言在操作系统中,进程信息对于系统监控和性能分析至关重要。假设我们需要开发一个监控程序,该程序能够捕获当前操作系统的进程信息,并将其高效地传输到其他端(如服务端或监控端)。在这个过程中,如何将捕获到的进程对象转换为二进制数据,并进行优化,以减小数据包的大小,成为了一个关键问题。本文将通过逐步分析,探讨如何使用位域技术对C#对象进行二进制序列化优化。操作系统进程信息首先,我们给出了一个进程对象...
2024-01-24 08:00:42 60
转载 FluentValidation在C# WPF中的应用
unsetunset1. 简介unsetunset介绍FluentValidation的文章不少,零度编程(站长注:原文已失连)的介绍我引用下:FluentValidation 是一个基于 .NET 开发的验证框架,开源免费,而且优雅,支持链式操作,易于理解,功能完善,还是可与 MVC5、WebApi2 和 ASP.NET CORE 深度集成,组件内提供十几种常用验证器,可扩展性好,支持自定义验证...
2024-01-22 08:00:15 34
转载 在 .NET 中使用可以漫游的 Web 凭据
Windows 凭据管理器是一个内置在 Windows 操作系统中的功能,为用户提供一种安全的方式来存储和管理凭据。本文主要介绍如何在 .NET 中使用可以漫游的 Web 凭据,以及使用中的基本事项。1. 引言在前面的文章《试用 Windows Terminal 中的 Terminal Chat 功能》中,我们曾提到为了保证配置的安全,Azure Openai 的配置信息被存储在凭据管理器中,类别...
2024-01-19 08:02:01 39
转载 一步步教你在 Windows 上构建 dotnet 系应用的 UOS 软件安装包
本文将详细指导大家如何逐步为 dotnet 系列应用创建满足 UOS 统信系统软件安装包的要求。在这里,我们所说的 dotnet 系列应用是指那些能够在 Linux 平台上构建 UI 框架的应用,包括但不限于 CPF 应用、UNO 应用、Avalonia 应用等基于 dotnet 系的自发布自包含的能力,可以将 dotnet 系的应用进行发布为独立应用,无需框架依赖,如此即可执行 deb 包的二进...
2024-01-18 08:00:20 55
转载 .NET领域最硬核的gRPC 核心能力一把梭
前言,本文定位为.NET方向 grpc核心能力一把梭,全篇是姿势性和结论性的展示, 方便中高级程序员快速上手.NET Grpc。有关grpc更深层次的前世今生、底层原理、困惑点释疑请听下回分解, 欢迎菜鸟老鸟们提出宝贵意见。grpc宏观目标:高性能rpc框架grpc框架实现宏观目标的底层3协议http2通信协议, 基础能力proto buffer:打解包协议==> 二进制proto bu...
2024-01-16 08:00:25 35
转载 如何使用.NET在2.2秒内处理10亿行数据(1brc挑战)
译者注在上周我就关注到了在github上有1brc这样一个挑战,当时看到了由Victor Baybekov提交了.NET下最快的实现,当时计划抽时间写一篇文章解析他的代码实现,今天突然看到作者自己写了一篇文章,我感觉非常不错,在这里分享给大家。这篇文章是关于.NET开发者Victor Baybekov参加的一个名为"One Billion Row Challenge"的编程挑战,他使用.NET语言...
2024-01-15 08:00:36 59
转载 一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库
前言今天给大家分享一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库:LiteDB。本篇文章主要是介绍LiteDB和在.NET中如何使用。LiteDB介绍LiteDB 是一个小巧、快速和轻量级的 .NET NoSQL 嵌入式数据库。无服务器的 NoSQL 文档存储简单的 API,类似于 MongoDB100% 的 C# 代码支持 .NET 4.5 / NETStandard 1.3/2....
2024-01-12 08:00:13 38
转载 C# 12 中的 ExperimentalAttribute
C# 12 中的 ExperimentalAttributeIntroC# 12 引入了一个 ExperimentalAttribute 我们可以将一些实验性质的 API 通过这个方法暴露出去,用户在使用的时候需要显式声明 NoWarn 才能正常使用,使得用户明白使用这样的 API 后续会有 break 的风险ExperimentalAttributeExperimentalAttribute 定...
2024-01-10 08:00:35 30
转载 ASP.NET 8 中的 ExceptionHandler
ASP.NET 8 中的 ExceptionHandlerIntroASP.NET 8 中引入了 IExceptionHandler,我们可以针对某一类的 exception 做单独的处理,可以将不同类型的异常有不一样的逻辑做不同的处理,异常处理可以变得更加灵活Sample来看一个简单的示例:我们可以实现 IExceptionHandler 来处理异常:filesealedclassArgu...
2024-01-09 08:00:54 34
转载 .NET与 JavaScript 应用程序互相调用的技术探究
前几天我在做一个副业,意识到我需要使用一些 JavaScript 功能。一想到要再次处理 Node.js 和 npm,我就完全放弃了,所以我决定研究一下在 .NET 应用程序中运行 JavaScript 的可能性。很疯狂吧?实际上,这出乎意料的简单。1你为什么要这样做?尽管我很喜欢 .NET 生态系统,但有些事情,JavaScript 生态系统做得更好。其中之一就是任何事情都能找到一个库,特别是涉...
2024-01-08 08:00:20 22
转载 .NET 8 中的 ConfigureHttpClientDefaults
.NET 8 中的 ConfigureHttpClientDefaultsIntro.NET 8 中新增了一个 ConfigureHttpClientDefaults 的 API,我们可以借助这个 API 来配置所有 HttpClient 的默认行为,比如我们的 HttpClient 都需要带上当前的服务信息或者配置 polly policy,就可以只配置一遍,不再需要每次都配置了Sample我们...
2024-01-04 08:00:09 83
金山卫士部分已经开放了的源代码下载
2010-12-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人