刷新
C#使用 MailKit 收发邮件

博主头像 目录获取QQ邮箱授权码安装 MailKit配置邮件服务器信息实现邮件收发方法测试邮件收发参考文章 获取QQ邮箱授权码 打开QQ邮箱,进入 设置->账号 页面: 在 POP3/IMAP/SMTP 中开启 SMTP服务,然后点击 授权码复制授权码: QQ邮箱服务器的参数如下,详细内容参考SMTP/IMA ...

第32篇 .Net特性Attribute的高级使用

博主头像 今天给大家讲讲.net中特性的高级使用 1.什么是特性 特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。 用[]来标识,在.Net 框架提供了两种类型的特性:预定义特性和自定义特性。 可以用这个图来直观看看Attribute属性的 ...

Blazor 调用 Clipboard API 读写剪贴板数据

博主头像 目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测试参考链接 简介 Clipboard API 是一种允许网页读取剪贴板数据或向其中写入数据的API,主要有两个方法: navigator.clipboard.writeText() :用于将文本写入剪贴板。 navigator.cl ...

.NET 内存管理两种有效的资源释放方式

博主头像 前言 嗨,大家好!今天我们要聊一聊 .NET 中的内存管理。你知道吗?虽然 .NET 有一个很好的垃圾回收系统来自动清理不再使用的对象,但在某些情况下,我们还需要自己动手来释放一些特殊的资源,比如打开的文件或数据库连接。如果不这样做,可能会导致程序运行不畅甚至崩溃。在本文里,将介绍两种简单有效的方式 ...

AOT漫谈专题(第三篇): 如何获取C#程序的CPU利用率

博主头像 一:背景 1. 讲故事 上篇聊到了如何对AOT程序进行轻量级的APM监控,有朋友问我如何获取AOT程序的CPU利用率,本来我觉得这是一个挺简单的问题,但一研究不是这么一回事,这篇我们简单的聊一聊。 二:如何获取CPU利用率 1. 认识cpuUtilization字段 熟悉.NET底层的朋友应该知道, ...

.NET程序获取当前IP经纬度,并通过经纬度实现天气查询功能

博主头像 创建一个.net 8的webapi项目备用 编辑一个实体类,该实体类用于存储获取ip地址的经纬度数据使用 继续编辑三个类,用来存储对应经纬度的具体天气数据包: 改造默认的天气控制器,里面写成我们自己的。例如先写个获取IP的经纬度坐标的请求 运行一下,看下现在的效果,可以看到获取到ip的具体信息,包括 ...

AOT漫谈专题(第一篇): 如何调试C# AOT程序

博主头像 一:背景 1. 讲故事 上个月接到了二个C# AOT程序的故障分析,发现如今的C# AOT程序也开始在各个领域开枝散叶了,这是一件非常好的事情,本着对这类程序有一个专业的维修态度,开一个系列好好聊一聊吧,当然我这里是漫谈,文章没有先后顺序,先从如何调试开始吧。 二:如何调试AOT程序 1. 一个简单 ...

第31篇 实现数据同步的webapi接口

博主头像 调用接口实现数据同步demo讲解 1.demo整体架构如下 2.SynchronizeModel类库 这个类库是主要用于实体对象模型的转换,包括请求参数实体RequestModel,数据库实体DBEntity,响应数据实体ResponseModel等, 2.1 新建一个数据库实体: /// <sum ...

.NET周刊【9月第4期 2024-09-22】

博主头像 国内文章 .NET常见的几种项目架构模式,你知道几种?(附带使用情况投票) https://www.cnblogs.com/Can-daydayup/p/18421685 文章介绍了软件项目的几种架构模式,包括三层架构、MVC、DDD、整洁架构和CQRS。这些模式通过分层职责,分别处理表示、业务逻辑 ...

聊一聊 C#中有趣的 SourceGenerator生成器

博主头像 一:背景 1. 讲故事 前些天在看 AOT的时候关注了下 源生成器,挺有意思的一个东西,今天写一篇文章简单的分享下。 二:源生成器探究之旅 1. 源生成器是什么 简单来说,源生成器是Roslyn编译器给程序员开的一道口子,在这个口子里可以塞入一些自定义的cs代码,让Roslyn编译器在编译代码的时候 ...

一种使用iText7渲染引擎去除文字水印方法的过程记录

有一种PDF文本,使用旋转过的字体来作为水印。文件经过密码保护,不能通过编辑的方法去除。 转载请保留这一段文字:charset#cnblogs,谢绝CSDN、知乎之流转载 注意:拥有水印并且编辑密码包含的PDF文档可能具有版权保护,本文仅从技术角度讨论可能性。 正常文件可以被打开而且显示无误,使用i ...

WPF下使用FreeRedis操作RedisStream实现简单的消息队列

博主头像 Redis Stream简介 Redis Stream是随着5.0版本发布的一种新的Redis数据类型: 高效消费者组:允许多个消费者组从同一数据流的不同部分消费数据,每个消费者组都能独立地处理消息,这样可以并行处理和提高效率。 阻塞操作:消费者可以设置阻塞操作,这样它们会在流中有新数据添加时被唤醒 ...

第28篇 如何.net中实现高效可靠数据同步api

博主头像 通过以下方式可以高效,并保证数据同步的可靠性 1.API设计 使用RESTful设计,确保API端点明确,并使用适当的HTTP方法(如POST用于创建,PUT用于更新)。 设计清晰的请求和响应模型,以确保客户端能够理解预期格式。 2.数据验证 在服务器端进行严格的数据验证,确保接收到的数据符合预期格 ...

C#爬取动态网页上的信息:B站主页

博主头像 目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选择器参考文章 简介 动态内容网站使用 JavaScript 脚本动态检索和渲染数据,爬取信息时需要模拟浏览器行为,否则获取到的源码基本是空的。 本文使用的爬取步骤如下: 使用 Selenium 获取渲染后的 HTML 文档 使 ...

第26篇 Vue项目如何运行起来

博主头像 在工作中,我们常要接手别人的vue项目,那我们从svn、git上拿到别人的vue项目后,要如何跑起来呢? 第1步 将项目里的“node_modules”文件夹删除,这是vue项目的依赖包。不过由于“node_modules”文件夹太大,一般不会打包上传到svn、git上的,所以没有这个文件夹就不用删 ...

<1234···21>