一:背景 1. 讲故事 最近聊了不少和异步相关的话题,有点疲倦了,今天再写最后一篇作为近期这类话题的一个封笔吧,下篇继续写我熟悉的 生产故障 系列,突然亲切感油然而生,哈哈,免费给别人看程序故障,是一种积阴德阳善的事情,欲知前世因,今生受者是。欲知来世果,今生做者是。 在任务延续方面,我个人的总结就 ...
在 Rx 中,Subscribe() 方法返回一个 IDisposable 接口对象,用于手动取消订阅和释放资源。另外,System.Reactive 还提供了不返回 IDisposable 的 Subscribe 重载,这些重载方法通过 CancellationToken 管理订阅的生命周期。在本... ...
这篇文章可以通过一些结构性的调整和文字优化,使得内容更具吸引力和流畅感。以下是改进后的版本: Rubyer-WPF:打造优雅、精致的 WPF 用户界面 在桌面应用开发领域,WPF(Windows Presentation Foundation)凭借其强大的 UI 设计能力和丰富的功能,始终是开发者们 ...
本文介绍如何将窗口置于最顶层,以及解决在顶层显示时对锁屏登录界面的影响等问题。用于实现类似Launcher、系统工具等应用需要窗口层级比Windows开始菜单以及置顶任务栏还要高的场景 一般情况下的窗口置顶,可以设置WPF窗口属性Topmost=true 也可以使用WIN32-SetWindowPo ...
通常情况下,使用相对宽度(如 * 星号单位)和适当的 HorizontalAlignment 是最简单有效的方法,可以确保子控件随着父控件的大小变化而自动调整。如果需要更精确的控制,可以考虑使用 RelativeSource 绑定或其他高级技术。确保父容器也支持子控件的动态尺寸调整非常重要。 ...
1. 什么是 Tesseract Tesseract 是一个强大的字符识别 (OCR) 工具。它最初由 HP 发布,现在由 Google 和学术社区共同维护和开发。 Tesseract 支持多种语言和格式,能够高效地识别图片中的文字。 2. 如何安装 Tesseract 要在 .NET 项目中使用 ...
在 Rx 中,数据流的生产和消费是通过 观察者模式(Observer Pattern) 实现的。这种模式定义了两种角色:IObservable和IObserver ...
在WinForm开发中,如果有多个页面进行展示,通常采用菜单栏+容器布局方式(点击菜单栏,打开新的页面,并在容器中显示)。今天以一个简单的小例子,简述如何通过菜单栏和MDI容器实现页面的布局,仅供学习分享使用,如有不足之处,还请指正。 ...
介绍 Easy.Admin 是一个高效且灵活的后台管理系统,采用了现代化的技术栈,旨在帮助开发者快速搭建高质量的后台管理平台。这个系统不仅支持 .NET 8 后端开发,还结合了 Vue3 和 TypeScript 前端技术,提供了一个功能强大且易于扩展的管理框架。同时,它还支持多种数据库,满足 ...
一:背景 1. 讲故事 最近时间相对比较宽裕,多写点文章来充实社区吧,这篇文章主要还是来自于最近遇到的几例线程饥饿(Task.Result)引发的一系列的反思和总结,我觉得.NET8容易引发饥饿的原因,更多的在于异步回调之后底层会反复的将结果丢到线程池所致,因为数据进线程池容易,再用线程到池中去捞就 ...
C#笔记——钉钉机器人推送帆软报表图片(一) 1、前言 2024年最后一个月,家里多了个小公主,在家休息了一段时间。2025年,休完假上班第一天,领导就说:哎,我看总部那边做了个每日产出的报表推送到钉钉群,来看计划达成率。我们基地这边能不能做啊。我心里默默一想,然后大声一喊能做(内心os:上家公 ...
Html的checkbox使用很广的,它的状态,勾选与非选。 初始状态,默认为非选。你可以设置它是勾选, 直在checkbox 标签中,添加checked属性。另外,在javascript可以这样, getById('Checkbox_IsPublished').checked = true; 或者 ...
一:背景 1. 讲故事 前段时间训练营里的一位朋友提了一个问题,我用ReadAsync做文件异步读取时,我知道在Win32层面会传 lpOverlapped 到内核层,那在内核层回头时,它是如何通过这个 lpOverlapped 寻找到 ReadAsync 这个异步的Task的呢? 这是一个好问题, ...
前言 一个WIFI上位机,接收底层MPU6050数据,途中转蓝牙从机透传,到蓝牙主机直连WIFI,PC端UDP通信,实现三轴加速度数据传送和计步功能。 项目介绍 本项目基于.NET平台,使用WPF开发了一个应用程序,用于实现MPU6050传感器数据从蓝牙模块传输到主机,并通过WiFi以UDP协议接收 ...
最近在项目中遇到一个需求,需要实现光盘刻录功能,由于项目使用的是C#语言,网上查阅了很多资劳和伪代码,很多都不能跑通,很多都是是引入了DLL后找不到方法,猜测应该是不同的版本导致的,经过一天的资料查阅和编写调试,终于是调通了全部的功能,这里将关键的伪代码分享如下。代码中有注释,对照着看就可以。 第一 ...
分析基于ASP.NET Core Kernel的gRPC服务在不同.NET版本的不同部署方式的不同线程池下的性能表现 使用默认的 gRPC 项目模板创建,垃圾回收器类型为 ServerGC(Server garbage collection)。 使用 ghz 工具在不同的请求总数、连接数、并发数的参 ...
奇怪的问题 本周被一个奇怪的问题困扰了一天。事情的起因是这样的:在某个 PR 合并后,我拉了最新代码,但是在我本地F5调试始终报错。示例代码如下: public interface Interface1 { void Method1(); } public class MockSerivce { p ...
开发中,我们通常把数据模型分为几个部分,探讨下他们具体都有那些作用。 1. Entity(实体) 实体类代表数据库表结构,与数据库表一一对应。 // 例如 User.cs public class User : BaseEntity { public string Username { get; s ...
在选择数据结构时,性能取决于具体的操作和使用场景。列表(List) 和 字典(Dictionary) 是两种常见的数据结构,它们有不同的性能特性。以下是对这两种数据结构在不同操作下的性能比较,特别是针对 for 循环下的性能表现。 列表(List) 列表 是一种有序的集合,通常用于存储一组元素,并按 ...
今天暂停了学习开发的任务,给咱放个假,去北京溜一圈,解解压,把该玩的,想玩的地逛一逛,哈哈... 开发无止境,学习路还是很长...... 昨晚收拾了屋子,打扫好房间,洗衣拖地,算是春节假期提前打扫除了,,, 计划出行就该给自己留足充足时间,今天差点赶不上高铁,风风火火,一路火光带闪电,哈哈哈,,, ...