.Net PdfiumViewer 打印时无法渲染电子签名问题的解决方法
2024/10/14 16:04:06

转载请标明原出处:https:www.cnblogs.comcrpfsp18463735 1. 先决条件 本文修改的动态库是从如下的 NuGet 包中获取的:如果使用的是 Visual Studio 中的 NuGet 包管理器获取的,则其动态库(.dll)一般会存放在: .\packages\PdfiumViewer.2.13.0.0\lib\20\PdfiumViewer.dll另外,还需要反编译动态库的工具:dnSpy,本文使用的是 dnSpy 作者弃坑后另一位佬接手重生的项目 dnSpyEx。 ‍

.NET 内存管理两种有效的资源释放方式
2024/10/14 16:04:05

前言 嗨,大家好!今天我们要聊一聊 . 中的内存管理。你知道吗?虽然 . 有一个很好的垃圾回收系统来自动清理不再使用的对象,但在某些情况下,我们还需要自己动手来释放一些特殊的资源,比如打开的文件或数据库连接。如果不这样做,可能会导致程序运行不畅甚至崩溃。在本文里,将介绍两种简单有效的方式来管理这些资源:使用 using 语句和显式调用 Dispose 方法。这两种方式可以我们更有效地控制资源的生命周期,避免内存泄漏等问题,确保应用程序的健壮性。不管是刚入门的小白还是技术大牛,希望你能从这篇文章中学有用的知

AOT漫谈专题(第三篇): 如何获取C#程序的CPU利用率
2024/10/14 16:04:05

一:背景 1. 讲故事 上篇聊到了如何对AOT程序进行轻量级的APM监控,有朋友问我如何获取AOT程序的CPU利用率,本来我觉得这是一个挺简单的问题,但一研究不是这么一回事,这篇我们简单的聊一聊。 二:如何获取CPU利用率 1. 认识cpuUtilization字段 熟悉.底层的朋友应该知道,.线程池中有一个cpuUtilization字段就记录了当前机器的CPU利用率,所以接下来的思路就是如何把这个字段给挖出来,在挖这个字段之前也要知道 .6 为界限出现过两个线程池。 1)win32threadpool

.NET云原生应用实践(二):Sticker微服务RESTful API的实现
2024/10/14 16:04:04

本章目标完成数据访问层的基本设计 实现Sticker微服务的RESTful API引言:应该使用M框架吗? 毋庸置疑,Sticker微服务需要访问数据库来管理“贴纸”(也就是“Sticker”),因此,以什么方式来存储数据,就是一个无法绕开的话题。如果你遵循领域驱动设计的思想,那么你可以说,保存到数据库的数据,就是“贴纸”聚合在持久化到仓储后的一种对象状态。那现在的问题是,我们需要遵循领域驱动设计的思想吗? 在目前的Sticker微服务的设计与实现中,我想暂时应该是不需要的,主要原因是,这里的业务并不复杂

(系列六).net8 全局异常捕获机制
2024/10/14 16:04:00

说明 该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。 该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。 说明:OverallAuth2.0 是一个简单、易懂、功能强大的权限+可视化流程管理系统。 友情提醒:本篇文章是属于系列文章,看该文章前,建议先看之前文章,可以更好理解项目结构。 有兴趣的朋友,请关注我吧(^▽^)。关注我,学不会你来打我 为什么要用全局异常捕获? 对于一个系统来说,全局异常捕获是必不可少的,它不仅

Some bytes have been replaced with the Unicode substitution character while loading file
2024/10/14 16:03:57

需要修改一较旧的网页代码,当打开时,却出现异常提示: Some bytes have been replaced with the Unicode substitution acter while loading file 【文档路径】 with Unicode(UTF8) encoding. Saving the file will not preserve the iginal file contents. 点“OK”,文档是可以打开,但是一些中文不能正常显示,如下箭头所指。 如何办? 新建与较新

.NET 8 实现无实体库表 API 部署服务
2024/10/14 16:03:56

前言 快速将创意变为现实!无需实体建库建表即可完成增删改查操作,支持15种条件查询、分页、列表及无限级树形列表等多种功能的API部署。 提供完善的接口文档、Auth授权、接口限流、客户端真实IP获取、先进服务器缓存组件及动态API等特性。让大家的工作效率倍增,远离加班和额外的知识付费。 项目介绍无需实体数据库,即可进行数据的增删改查支持15种条件查询提供分页、列表、无限级树形列表等功能提供详细的接口文档包含Auth授权机制支持接口限流和获取客户端真实IP拥有先进的服务器缓存组件支持动态API快速部署API

.NET程序获取当前IP经纬度,并通过经纬度实现天气查询功能
2024/10/14 16:03:53

创建一个. 8的webapi项目备用 编辑一个实体类,该实体类用于存储获取ip地址的经纬度数据使用 继续编辑三个类,用来存储对应经纬度的具体天气数据包: 改造默认的天气控制器,里面写成我们自己的。例如先写个获取IP的经纬度坐标的请求 运行一下,看下现在的效果,可以看到获取到ip的具体信息,包括运营商、经纬度坐标等。 继续拓展内容,根据经纬度获取天气数据 运行,可以看到一些天气信息 以下是返回的具体json报文,供参考:{"latitude": 22.5"longitude": 114"gen

操作筛选器的 1 个应用实例:自动启用事务
2024/10/14 16:03:52

前言 在数据库操作过程中,有一个概念是绕不开的,那就是事务。 事务能够确保一系列数据库操作要么全部成功提交,要么全部失败回滚,保证数据的一致性和完整性。 在 Asp. Ce Web API 中,我们可以使用操作筛选器给所有的数据库操作 API 加上事务控制,省心又省力,效果还很好。 看看 Step By Step 步骤是如何实现上述功能的。 Step By Step 步骤创建一个 ASP. Ce Web API 项目引用 EF Ce 项目 BooksEFCeBooksEFCe 项目创建参见前文《EF Ce

AOT漫谈专题(第一篇): 如何调试C# AOT程序
2024/10/14 16:03:50

一:背景 1. 讲故事 上个月接到了二个C# AOT程序的故障分析,发现如今的C# AOT程序也开始在各个领域开枝散叶了,这是一件非常好的事情,本着对这类程序有一个专业的维修态度,开一个系列好好聊一聊吧,当然我这里是漫谈,文章没有先后顺序,先从如何调试开始吧。 二:如何调试AOT程序 1. 一个简单的例子 现在的VS非常强大,新建模板的时候就有一个 Enable native AOT publish 选项,勾完之后就会自动的在项目的 csproj 中添加配置节 PublishAottruePublishA

.NET 工控网关 轻量级组态软件
2024/10/14 16:03:48

前言 C# 工控网关 + 轻量级组态软件。 项目介绍 SharpSCADA 是一个开源项目,提供灵活且强大的解决方案,以满足工业自动化和监控的需求。 作为一个轻量级的工业控制网关和组态软件,SharpSCADA 支持多种工业协议,包括西门子的 Profi、AB 的 EtherIP、施耐德的 Modbus 以及 OPC 等,通过类 OPC 接口网关实现数据通信。 主要特性 1、轻量级工控网关 支持主要的工业协议,包括西门子的 Profi、AB 的 EtherIP、施耐德的 Modbus 以及 OPC。 采用

.NET 白板书写加速-曲线拟合预测
2024/10/14 16:03:46

白板软件书写速度是其最核心的功能,注册StylusPlugin从触摸线程拿触摸点数据并在另一UI线程绘制渲染是比较稳妥的方案,具体的可以查看小伙伴德熙的2019128WPF高性能笔 lindexi 博客园 (cnblogs.com) 上面StylusPlugin方案能提升在大屏目前如富创通、华欣触摸框的主要产品版本上,1帧16ms左右的书写性能。除了这个跳过一些流程来减少延时,我们还能继续优化书写性能么?答案肯定是可以的 本文我们介绍下书写加速的一类实现方向,通过预测下一个甚至N个点,提前绘制笔迹来降

开源项目更新|WPF/Uno Platform/WinUI 3三个版本的《英雄联盟客户端》
2024/10/14 16:03:40

​ 哈喽大家好! 我们是中韩Microsoft MVP夫妇 Vicky&James^^很高兴能加入博客园和大家分享我们的技术! 自2008年以来,我们一直深耕于WPF技术,积累了丰富的经验。这些年来,随着Xamarin、MAUI、UnoPlatfm、AvaloniaUI和OpenSilver等跨平台技术的不断发展,我们也将在WPF中积累的技能成功地拓展到了各种跨平台项目中。 多年前我们发布的《用WPF重现英雄联盟客户端》项目获得了大家不少支持和关注,非常感谢大家! 最近,基于这个WPF版本,我们又开发出了

第31篇 实现数据同步的webapi接口
2024/10/14 16:03:40

调用接口实现数据同步demo讲解 1.demo整体架构如下2.SynchronizeModel类库 这个类库是主要用于实体对象模型的转换,包括请求参数实体RequestModel,数据库实体DBEntity,响应数据实体ResponseModel等, 2.1 新建一个数据库实体: summary 被测件(雷达)模块信息表 summary [SqlSugar.SugarTable("TestRecdModule")] public class TestRecdModule:EntityBase { sum

.NET 白板书写延迟-触摸屏报点率
2024/10/14 16:03:37

触摸书写延迟,是触摸屏很核心的参数。从用户在触摸屏上进行触控操作到设备作出响应之间的时间差,这个延迟高低会影响快速反应的应用场景使用如白板书写、玩游戏。 而触摸延迟主要影响因素有:触摸框报点率、软件框架延时(用于触摸数据接收、线程切换)、软件业务逻辑处理 我们这里介绍下触摸框报点率 Touch Rept Rate,触摸屏每秒报告触控数据的次数(Hz)会根据设备类型不同而变化 触摸操作TouchMove(StylusMove)是定时上报一次,一次会上报1N个点。1 private void Main

PictureBox实现进入换色,离开换色,点击换色
2024/10/14 16:03:36

实现和Wd标题栏类似的效果可以看到有三种颜色: 默认时是(243 243 243),鼠标进入时是这样(210 210 210),鼠标按下的瞬间变为了(177 177 177) 4个关键事件:MouseEnter、MouseLeave、MouseDown、MouseUp MouseEnter:在鼠标进入控件的可见部分时发生private void pictureBox3_MouseEnter(object sender EventArgs e) { pictureBo

.NET 实现的交互式 OA 系统
2024/10/14 16:03:34

前言 近期,我们在后台收到了粉丝们的留言,需要一个高效办公自动化(OA)系统。为了回应大家的期待,今天我们推荐一款既灵活又强大的 OA 系统解决方案,帮助提升日常办公效率和团队协作水平。 在日常工作中,我们经常遇到各种表单。传统的系统开发中,多一个录入界面就意味着要设计一个新的输入表单,这样不仅增加了工作量,还导致了大量的重复劳动。 因此,我们需要一种动态、灵活且安全的方法来设计表单,以提高程序的通用性和工作效率,简化系统管理和维护。 项目介绍 MicroOA 是一款基于 C# 和 ASP. 开发的办公自

C#|.net core 基础
2024/10/14 16:03:32

今天想通过和大家分享如何删除字符串最后一个字符的N种实现方法,来回顾一些基础知识点。 01、第一类、字符串方式 这类方法是通过string类型自身方法直接实现。 1、Substring方法 相信大多数人第一个想到的可能就是这个方法。Substring方法是字符串内置方法,可以通过指定起始索引位置为0以及长度为字符串长度减1,直接截取指定长度的子字符串,从而达到删除最后一个字符目的。 示例代码如下: public static string StringSubstring(string source) {r

.NET云原生应用实践(一):从搭建项目框架结构开始
2024/10/14 16:03:32

开篇 很早之前就想做一套案例,介绍.下如何从零开始搭建一个云原生的应用程序。不过这个话题有点大,会要包含很多内容。我本打算从新建一个ASP. Ce Web API应用程序开始介绍,但又觉得即便是从零开始,也无法完全涵盖每一个步骤细节,而且很多基础性的东西其实并没有太大的介绍价值,倒不如就先略过服务端RESTful API和Blaz WebAssembly的开发部分,直接研究讨论与云原生相关的内容。如需了解ASP. Ce的基础和开发相关的内容,请点击【这里】;如需了解Blaz WebAssembly客户端开

.NET周刊【9月第4期 2024-09-22】
2024/10/14 16:03:31

国内文章 .常见的几种项目架构模式,你知道几种?(附带使用情况投票) https:www.cnblogs.comCandaydayupp18421685 文章介绍了软件项目的几种架构模式,包括三层架构、MVC、DDD、整洁架构和CQRS。这些模式通过分层职责,分别处理表示、业务逻辑和数据访问等功能,强调系统的可维护性、可扩展性和灵活性。每种模式有其特定的使用场景,应根据项目需求选择。附有相关参考资料链接,还介绍了DotGuide技术社区,提供.相关资源和交流平台。 .8 使用JWT鉴权(附当前源码) ht

ASP.NET Core OData 9 正式发布
2024/10/14 16:03:30

我们很高兴地宣布,ASP. Ce OData 9 已正式发布,并在 NuGet 上提供:Microsoft.AspCe.OData 9.0.0此版本的主要亮点是将 OData . 依赖项更新到 8.x 主版本。 通过更新依赖项,我们能够利用 Microsoft.OData.Ce 8.x 和 Microsoft.OData.Edm 8.x 版本中引入的改进和新功能。 ASP. Ce OData 9 版本将仅支持 . 8 或更高版本。 OData . 8 官方发布公告解决了该版本中引入的主要更改。建议阅读这篇

Serilog文档翻译系列(七)
2024/10/14 16:03:30

01、应用设置 Serilog 支持在 App.config 和 Web.config 文件中使用简单的 配置语法,以设置最低日志级别、为事件添加额外属性以及控制日志输出。 Serilog 主要通过代码进行配置,设置支持旨在作为补充功能。虽然不是全面的,但大多数日志记录配置任务都可以通过它实现。1、启用 配置 需要从 NuGet 安装 支持包: InstallPackage Serilog.Settings.AppSettings要从 读取配置,可以在 LoggerConfiguration 上使

.NET 8.0 酒店管理系统设计与实现
2024/10/14 16:03:28

前言 给大家推荐一个基于. 8.0 的中小型酒店设计的管理系统。 随着酒店的日常工作增加,很难用人工去进行处理一些繁琐的数据,也可能会因为人工的失误而造成酒店的损失,因此需要一款可以协助酒店进行内部管理的管理软件。 本文将详细介绍如何开发和使用酒店管理系统。 项目介绍 引用的开源项目Fody:使用 MIT 开源协议的工具,可以将所有 DLL 打包成 EXE 应用程序。SQLSugar:国内最受欢迎的 M 框架之一,采用 Apache2.0 开源协议。SunnyUI:基于 C# . WinFms 的开源控件

(系列五).net8 中使用Dapper搭建底层仓储连接数据库(附源码)
2024/10/14 16:03:23

说明 该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。 该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。 说明:OverallAuth2.0 是一个简单、易懂、功能强大的权限+可视化流程管理系统。 友情提醒:本篇文章是属于系列文章,看该文章前,建议先看之前文章,可以更好理解项目结构。 有兴趣的朋友,请关注我吧(^▽^)。关注我,学不会你来打我 安装Dapper 1、在使用的地方,安装最新版Dapper。 2、在使用的地

在VS2022上安装pygame模块
2024/10/14 16:03:21

一、安装 在vs2022中随便打开或生产一个python项目,找到最右边的“解决方案资源管理器”,并找到“python环境”,点击鼠标右键打开“查看所有python环境”打开以后找到下面的“在PowerShell中打开”,点击打开然后输入”pip install pygame“并等待安装即可 二、测试 输入以下代码并运行 impt pygame print(pygame.ver) 输出的pygame的版本,可能你的版本和我的不一样,但是没什么影响,现在说明你的pygame已经安装完了,可以调用这个模块。

聊一聊 C#中有趣的 SourceGenerator生成器
2024/10/14 16:03:20

一:背景 1. 讲故事 前些天在看 AOT的时候关注了下 源生成器,挺有意思的一个东西,今天写一篇文章简单的分享下。 二:源生成器探究之旅 1. 源生成器是什么 简单来说,源生成器是Roslyn编译器给程序员开的一道口子,在这个口子里可以塞入一些自定义的cs代码,让Roslyn编译器在编译代码的时候顺带给一起处理了,简单的说就是 夹带私货 ,但古话又说 师不顺路 医不叩门,所以还是比较尴尬的,看一下官方给的图,图中的橙色区域就是夹带的私货。有些朋友肯定好奇,这玩意有什么用?其实在AOT领域中,JsonSe

.Net 依赖注入深入探索,做一个DI拓展,实现一个简易灵活的 自动依赖注入框架
2024/10/14 16:03:20

一、依赖注入相关知识 1.1、依赖注入的原理和优点依赖注入(DI),是IOC控制反转思想 的实现。由一个DI容器,去统一管理所有的服务生命周期,服务的创建、销毁、获取,都是由DI容器去处理的。 依赖注入,很大程度解耦了服务之间的依赖关系,服务之间依赖的是抽象(依赖的是 服务服务接口 的 “类型”),而不是依赖具体的实现(服务不用关注他依赖的服务的创建,仅通过构造函数声明依赖的服务类型即可拿到依赖的服务实例,实际的服务实例是由容器去创建出来的)。 在获取服务时,DI能够解析所有服务依赖关系树,将所有直接、间

第29篇 在Linux CentOS系统上部署SqlServer数据库,并实现内网穿透
2024/10/14 16:03:15

在Linux centos环境下安装部署sql server数据库,并结合cpolar内网穿透工具,创建安全隧道将其映射到公网上,获取公网地址,实现在外异地远程连接家里公司的sqlserver数据库,而无需公网IP,无需设置路由器,亦无需云服务器。 1.安装sql server 下载 SQL Server 2022 (16.x) Red Hat 存储库配置文件: sudo curl o etcyum.repos.dmssqlserver.repo https:packages.microsoft.comc

记一次Razor Pages无法编译问题及解决
2024/10/14 16:03:14

解决方案写在前面:更新Visual Studio及相关组件,本人版本自17.8.0更新至17.11.4 缘起于公司的一个业务接口,在有一些信息需要在应用内嵌的webview中展示,信息不少,涉及的前端技术不复杂,但是拼字符串太罗嗦,所以想到了添加一个Raz页面,所以,常规逻辑,在服务上注册'''AddRazPages'''构建后使用映射方法'''MapRazPages'''然后调试。这次调试没有问题,页面也能正常显示。因为是微信的小程序,并且是在手机上演示,网站地址要在配置的业务域名上,所以基本写完了页面

一种使用iText7渲染引擎去除文字水印方法的过程记录
2024/10/14 16:03:14

有一种PDF文本,使用旋转过的字体来作为水印。文件经过密码保护,不能通过编辑的方法去除。 转载请保留这一段文字:set#cnblogs,谢绝CSDN、知乎之流转载 注意:拥有水印并且编辑密码包含的PDF文档可能具有版权保护,本文仅从技术角度讨论可能性。 正常文件可以被打开而且显示无误,使用iText7的渲染引擎来获取渲染项目,通过对目标文本的隐藏来达到去除文字水印的目的。 以下列举了一些使用过程中的注意点和坑:环境:Windows 11 Home Edition 23H2 机器:Lenovo L490 i