PdfSharp 是一个 .NET 跨平台的 PDF 处理框架,PdfSharp 使用的是 MIT 开源协议,无论是个人还是商业使用均可,且不限制闭源或开源。PdfSharp 由社区维护,无任何收费购买项目。 笔者看中它: 体积轻小, 操作简单, 跨平台,不会出现 System.Drawing 报[......] 继续阅读

2023年7月20日 0条评论 1583点热度 1人点赞 痴者工良 阅读全文

最近使用了一个 TinyMapper 对象映射框架,喜欢它的简单。 TinyMapper 文档地址: http://tinymapper.net/ TinyMapper 极其简单,一个静态类即可: TinyMapper.Bind<Person, PersonDto>(); var p[......]继续阅读

2023年7月19日 0条评论 868点热度 2人点赞 痴者工良 阅读全文

Jq 是一个轻量级和灵活的命令行 JSON 处理器。 官网: https://jqlang.github.io/jq/ https://jqlang.github.io/jq/manual/ Jq 可以从 JSON 中解析数据以及将数据替换到字段表达式生成新的 Json。 例如一个 JSON: [......]继续阅读

2023年6月6日 2条评论 1011点热度 1人点赞 痴者工良 阅读全文

注意, C# RSA 只能导入导出 PKCS1 的公钥,不能处理 PKCS8 的。否则会报错。 C# RSA 可以导出导入 PCKS8 的私钥,可以按照 pem 格式处理,也可以按照文本格式处理, 示例如下: using Newtonsoft.Json; void Main() { var[......]继续阅读

2023年4月25日 0条评论 954点热度 0人点赞 痴者工良 阅读全文

介绍 Selenium 官网:https://www.selenium.dev/ Selenium 是功能强大的自动化测试工具集,是支持 Web 浏览器自动化的一系列工具和库的总括项目,一共包括以下三个项目: Selenium WebDriver Selenium IDE Selenium Gri[......] 继续阅读

2023年2月20日 0条评论 1436点热度 0人点赞 痴者工良 阅读全文

void Main() { string str = "A-A01A05-A01-01-02"; byte[] data = new byte[16]; var span = data.AsSpan(); ulong l = 0; int index = 1[......]继续阅读

2023年2月13日 0条评论 1600点热度 3人点赞 痴者工良 阅读全文

[TOC] 作者:痴者工良 个人网站:https://www.whuanle.cn 博客园:https://www.cnblogs.com/whuanle/ 本教程地址:https://kafka.whuanle.cn/ 本教程是关于 Kafka 知识的教程,从 C# 中实践编写 Kafka 程序,[......] 继续阅读

2023年1月27日 0条评论 2096点热度 2人点赞 痴者工良 阅读全文

这里是笔者在开发 MAUI 应用时踩的坑,以及一些笔记的汇总。 不得不说 MAUI 挺垃圾的。 如果不是 Mono 金玉在前,估计社区不会有多少人关注败絮 MAUI。 目前 .NET 已经升级到 7.0,但是 MAUI 还是一如既往的拉跨,如果开发过 MAUI,做过定制,自定义标题栏之类的,便会发现[......] 继续阅读

2023年1月18日 0条评论 11439点热度 4人点赞 痴者工良 阅读全文

大多数情况下,大家使用的生成 JWT Token 代码是这样的: // 定义用户信息 var claims = new Claim[] { new Claim(ClaimTypes.Name, u[......]继续阅读

2023年1月13日 0条评论 1574点热度 2人点赞 痴者工良 阅读全文

连接 如果不想对外暴露密码,可以自行写一个 AuthorizationHeader,只使用 Base64 处理后的 Basic 认证密钥。 using Elastic.Clients.Elasticsearch; using Elastic.Transport; public class Prog[......]继续阅读

2022年12月29日 0条评论 1827点热度 0人点赞 痴者工良 阅读全文

1,一个字段是数组,如果数组中不存在这个记录时,向数组增加一个记录。 FilterDefinitionBuilder<WorkflowDo> fd = Builders<WorkflowDo>.Filter; var f = f[......]继续阅读

2022年12月7日 0条评论 1550点热度 28人点赞 痴者工良 阅读全文

背景: 查找了很多库,要么收费,要么太旧用不了。 经过大量测试,写了打印机的相关代码。 实现的代码不依赖于第三方库。 核心代码 引入这两个库: System.Drawing.Printing Vanara.PInvoke.Printing 这两个库用于使用 winspool.drv 服务,可以避免编[......] 继续阅读

2022年12月3日 0条评论 2417点热度 4人点赞 痴者工良 阅读全文

WorkflowDefinitionValidator 是整个验证入口,上一个非常复杂的对象结构。 参考:https://github.com/serverlessworkflow/specification/blob/main/specification.md 通过依赖注入,继续检查下一层的字段。[......] 继续阅读

2022年11月24日 0条评论 1136点热度 0人点赞 痴者工良 阅读全文

代码示例如下: System.Net.ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;[......]继续阅读

2022年11月22日 0条评论 1556点热度 0人点赞 痴者工良 阅读全文

首先在要被执行的 类型 加上参数: [Option(Description = "CloudEvents 'source' (default: urn:example-com:mysource:abc)", LongName = "source", ShortName = "s")][......]继续阅读

2022年11月19日 0条评论 1328点热度 0人点赞 痴者工良 阅读全文

引入这个库: YamlDotNet 配置示例: services.AddYamlDotNetSerializer( serializer => serializer .IncludeNonPubli[......]继续阅读

2022年11月19日 0条评论 1464点热度 0人点赞 痴者工良 阅读全文

ISO8601 规定了时间格式。 在 Go 语言中,Duration 就实现了这种时间格式。 package main import ( "fmt" "time" ) func main() { t := time.Now() fmt.Println(t) } 输[......] 继续阅读

2022年11月19日 0条评论 2414点热度 0人点赞 痴者工良 阅读全文

背景 突然了解到有个项目叫 ServerlessWorkflow 。 https://github.com/serverlessworkflow 这个项目有什么用,并不重要,重要的是可以从这里了解到云原生中间件开发的一些现状和需要学习的知识。 因为这个项目是 CNCF 项目,里面使用到的规范、思[......] 继续阅读

2022年11月19日 0条评论 1582点热度 1人点赞 痴者工良 阅读全文

创建一个元素: <Label x:Name="Label1" Text="111" VerticalOptions="Center" HorizontalOptions="Ce[......]继续阅读

2022年11月14日 0条评论 1332点热度 0人点赞 痴者工良 阅读全文

问题背景 在 Windows 中,开发的应用可以使用 app.manifest 资产文件配置程序启动时,使用何种角色权限启动。 效果如下: 正常情况下,在 app.manifest 加上以下配置即可: 如果项目中没有这个文件,可以在项目中新建项-清单文件。 <trustInfo xm[......]继续阅读

2022年11月10日 0条评论 1804点热度 0人点赞 痴者工良 阅读全文
1234514