刷新
.Net 依赖注入深入探索,做一个DI拓展,实现一个简易灵活的 自动依赖注入框架

博主头像 一、依赖注入相关知识 1.1、依赖注入的原理和优点 依赖注入(DI),是IOC控制反转思想 的实现。由一个DI容器,去统一管理所有的服务生命周期,服务的创建、销毁、获取,都是由DI容器去处理的。 依赖注入,很大程度解耦了服务之间的依赖关系,服务之间依赖的是抽象(依赖的是 服务/服务接口 的 “类型” ...

记一次Razor Pages无法编译问题及解决

解决方案写在前面:更新Visual Studio及相关组件,本人版本自17.8.0更新至17.11.4 缘起于公司的一个业务接口,在有一些信息需要在应用内嵌的webview中展示,信息不少,涉及的前端技术不复杂,但是拼字符串太罗嗦,所以想到了添加一个Razor页面,所以,常规逻辑,在服务上注册''' ...

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

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

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

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

.NET 跨平台工业物联网网关解决方案

博主头像 前言 随着工业4.0时代的到来,物联网技术正在以前所未有的速度改变着我们的生产和生活方式。本文给大家介绍一个基于 .NET 6 开发的跨平台工业物联网网关解决方案。 工业物联网(IIoT)成为了连接物理世界与数字世界的纽带。而在这个网络中,工业物联网网关就像是一个智能的交通警察,负责指挥着设备与云端 ...

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

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

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

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

.NET 开源高性能 MQTT 类库

博主头像 前言 随着物联网(IoT)技术的迅猛发展,MQTT(消息队列遥测传输)协议凭借其轻量级和高效性,已成为众多物联网应用的首选通信标准。 MQTTnet 作为一个高性能的 .NET 开源库,为 .NET 平台上的 MQTT 客户端与服务器开发提供了强大的支持。 本文将全面介绍 MQTTnet 的核心功能 ...

.NET 工具库高效生成 PDF 文档

博主头像 前言 QuestPDF 是一个开源 .NET 库,用于生成 PDF 文档。使用了C# Fluent API方式可简化开发、减少错误并提高工作效率。利用它可以轻松生成 PDF 报告、发票、导出文件等。 项目介绍 QuestPDF 是一个革命性的开源 .NET 库,它彻底改变了我们生成 PDF 文档的方 ...

移动开发(一):使用.NET MAUI开发第一个安卓APP

博主头像 移动开发(一):使用.NET MAUI开发第一个安卓APP 对于工作多年的C#程序员来说,近来想尝试开发一款安卓APP,考虑了很久最终选择使用.NET MAUI这个微软官方的框架来尝试体验开发安卓APP,毕竟是使用Visual Studio开发工具,使用起来也比较的顺手,结合微软官方的教程进行了安卓 ...

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

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

<1···414243···50>