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 对象加入到渲染管线 ...
K8s容器运行时,移除Dockershim后存在哪些疑惑? 大家好,我是秋意零。 K8s版本截止目前(24/09)已经发布到了1.31.x版本。早在K8s版本从1.24.x起(22/05),默认的容器运行时就不再是Docker了或者说Dockershim。 发行版本 | Kubernetes Pat ...
一、前言 WPF 自身是基于 DirectX 实现的硬件加速 UI 架构,但它对于高性能、异线纹理、GPU 深度使用等需求,并非完全支持。为此,将 WPF 和原生 DirectX 组合,形成「性能高 + UI 优雅」的强力组合,是打造专业级图形应用的重要技术途径。 二、WPF 与 DirectX 的 ...
本文基于 SQLite 轻量级数据库与 QuantConnect Lean 框架,构建了一套支持高频数据回测、策略无缝实盘部署的本地化解决方案。 0x01获取所有股票 import baostock as bs import pandas as pd import sqlite3 from ...
在将WPF升级到Avalonia时,可能很多开发者习惯使用WPF的WindowsFormsHost来嵌入WinForms组件。Avalonia虽然没有WindowsFormsHost,但提供了功能类似的NativeControlHost接口,实现同样的效果。 NativeControlHost是Av ...
本文基于efcore8.0,参考文档。 假设需要重写efcore或者特定数据库的方法的SQL转换,按上面文档及其示例代码,本例中我们大概就是提供下面几个接口的实现。 IMethodCallTranslator IMethodCallTranslatorPlugin IDbContextOptions ...
一:背景 1. 讲故事 年初有位朋友找到我,说他们的管理系统不响应了,让我帮忙看下到底咋回事? 手上也有dump,那就来分析吧。 二:为什么没有响应 1. 线程池队列有积压吗? 朋友的系统是一个web系统,那web系统的无响应我们首先要关注的就是 线程池,使用 !sos tpq 命令,参考输出如下: ...