1. 我有一个netframework4.8的类库项目,里面提供了一个自定义控件,然后我按照以下方法为控件提供了默认样式 a) 添加Themes\Generic.xaml文件,文件中提供自定义控件的默认样式 <Style TargetType="MyControl"> <Setter Propert ...
概述 XiHan.Framework.Utils 是一个功能丰富的 .NET 工具库,涵盖了开发中常用的字符串处理、集合扩展、加密解密、分布式ID、文件IO、反射、缓存、线程、系统工具、国际化、网络、硬件信息、异常、数据过滤、Linq扩展等模块。 本库以高内聚、低耦合为设计理念,适用于各类 .NET ...
WPF下拉列表懒加载的控件未找到现成可用的组件,于是自己封装了一个懒加载和支持模糊过滤的下拉列表控件,控件使用了虚拟化加载,解决了大数据量时的渲染数据卡顿问题。 ...
以下是一个基于 Entity Framework Extensions 的 BulkDelete 高效删除海量数据的方案,包含性能优化、稳定性保障和错误处理机制: csharp using System; using System.Linq; using Z.EntityFramework.Plus ...
进程间通信指的是进程之间的信息交换,进程间通信的方式有很多,比如管道通信、信号通信、共享内存、消息队列、信号量组、POSIX信号量等。 进程间通信可以达到数据传输、共享资源、控制进程等目的,方便用户对进程进行控制和管理。 管道通信 管道通信采用的是半双工的通信方式,其中管道在Linux系统下也是文件 ...
项目搭建了一个基础的框架,实现缓存的AOP拦截,首次查询从数据库获取,再写入缓存,设置过期时间,再次查询数据时从缓存获取。 话不多说我们来上代码实现: 1.定义缓存的接口和实现类 定义缓存接口ICachingProvider和实现类MemoryCaching: /// <summary> /// 简 ...
1. 问题 环境是dotnet8及以前的版本,dotnet9+不知道是否还有这个问题(我猜是一样的)。 如下代码,在多播委托await异步执行时,不会等待委托方法执行完成,它们在新的线程中运行。 async Task A() { } async Task B() { } Func<Task> fun ...
在实际应用中,经常需要用到数据的导入与导出,而在这些导入导出功能中,最常用的就是Excel格式,它能非常方便的实现格式化数据呈现。目前主流框架大多需要将数据全载入到内存方便操作,但如果数据量过大,这可能会导致内存消耗问题,今天介绍的MiniExcel 尝试以 Stream 角度写底层算法逻辑,能让原... ...
项目背景 甲方本地化上线了我们系统之后,进行安全漏洞扫描 发现了一个问题: 我们的附件路径 直接通过站点 访问的 ,在未授权的模式下,可以直接随意替换路径里的文件内容,通过浏览器拼接链接的方式打开系统里的一些附件和图片内容 因为系统内部 站点 呈现附件 也都是通过这个方式拼接呈现的。 快速调整方案一 ...
C#中委托、事件的好处,只需在某个类中提前定义好公开的委托或事件(委托的特殊表现形式)变量,然后在其它类中就可以很随意的订阅该委托或事件,当委托或事件被触发执行时,会自动通知所有的订阅者进行消费处理。(观察者模式用委托来实现是最好不过了,DDD所提倡的事件驱动其根本理念也是如此),当然我这里想到的是 ...
一、过滤器简介 ASP.NET Core中的过滤器是一种组件,它可以在请求处理管道中的特定阶段运行代码。过滤器有多种类型,包括授权过滤器、资源过滤器、动作过滤器、异常过滤器和结果过滤器。本文中使用的是动作过滤器(Action Filter),它在动作方法执行前后执行,可以用来记录请求和响应信息。 二 ...
mkdir函数 此函数用于创建一个目录 //头文件 #include <sys/stat.h> #include <sys/types.h> int mkdir(const char *pathname,mode_t mode); //pathname:目录的路径 //mode:目录的权限 //re ...
将一个字符串转换成整型数,方便后序的处理 atoi函数 此函数可以将一个字符串转换成整型 //头文件 #include <stdlib.h> //函数原型 int atoi(const char *nptr); //nptr:待转换的字符串的地址 //ret:转换后的整型数 //注意:转换的字符串里 ...
使用中发现管理平台的博客列表无法查看,发现是echarts.min.js引用路径无效,找到route.config.js之后找到对应的菜单配置项修改对应的路径为https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js即可,后续考虑是不是修改为本地 ...
strstr函数 此函数用于从目标字符串中查找子串 char *strstr(const char *haystack, const char *needle); //haystack:主字符串,即要搜索的字符串 //needle:子字符串,即要查找的字符串 //ret:如果找到子字符串,返回子字符 ...
进行框架依赖发布的时候,应用程序需要有 dotnet runtime 运行时才能跑起来。在 dotnet 9 之前,通常都是需要安装到系统的 Program File 文件夹下的全局 dotnet 运行时的支持。在 dotnet 9 时,引入了 AppHostRelativeDotNet 机制,允许... ...
以下是在 Windows 上使用 Visual Studio 2022 开发 Avalonia 应用程序,并通过 AOT 编译部署到 Zynq MPSoC 嵌入式系统 (Linux ARM64) 的完整配置和发布流程: 1. 项目基础配置 修改 .csproj 文件 确保项目文件包含以下关键配置(需 ...
C# 基础篇 github仓库:https://github.com/EanoJiang/CSharp_base 枚举(enum) 枚举是一个被命名的整形常量的集合 用于表示: 状态 类型 申明枚举:创建一个自定义的枚举类型 申明枚举变量:使用申明的自定义的枚举类型,来创建一个枚举变量 语法 //语 ...
垃圾回收 垃圾回收是指由回收不再被引用的对象所占用的内存。 垃圾回收器只回收内存,不处理其他资源,比如数据库连接、句柄(文件、窗口等)、网络端口以及硬件设备(比如串口)。 .NET垃圾回收原理 .NET 的垃圾回收器采用mark-and-compact算法。一次垃圾回收过程开始时,垃圾回收器从根引用 ...
在 WPF 框架底层里面,对 WriteableBitmap 的实现是有双份内存,具体实现放在 CSwDoubleBufferedBitmap 里面。表层的内存是一个数组,里层内存是 IWICBitmap 对象,渲染时将使用 IWICBitmap 对象加入到渲染管线 ...