一、依赖注入相关知识 1.1、依赖注入的原理和优点 依赖注入(DI),是IOC控制反转思想 的实现。由一个DI容器,去统一管理所有的服务生命周期,服务的创建、销毁、获取,都是由DI容器去处理的。 依赖注入,很大程度解耦了服务之间的依赖关系,服务之间依赖的是抽象(依赖的是 服务/服务接口 的 “类型” ...
在Linux centos环境下安装部署sql server数据库,并结合cpolar内网穿透工具,创建安全隧道将其映射到公网上,获取公网地址,实现在外异地远程连接家里/公司的sqlserver数据库,而无需公网IP,无需设置路由器,亦无需云服务器。 1.安装sql server 下载 SQL Se ...
解决方案写在前面:更新Visual Studio及相关组件,本人版本自17.8.0更新至17.11.4 缘起于公司的一个业务接口,在有一些信息需要在应用内嵌的webview中展示,信息不少,涉及的前端技术不复杂,但是拼字符串太罗嗦,所以想到了添加一个Razor页面,所以,常规逻辑,在服务上注册''' ...
有一种PDF文本,使用旋转过的字体来作为水印。文件经过密码保护,不能通过编辑的方法去除。 转载请保留这一段文字:charset#cnblogs,谢绝CSDN、知乎之流转载 注意:拥有水印并且编辑密码包含的PDF文档可能具有版权保护,本文仅从技术角度讨论可能性。 正常文件可以被打开而且显示无误,使用i ...
Redis Stream简介 Redis Stream是随着5.0版本发布的一种新的Redis数据类型: 高效消费者组:允许多个消费者组从同一数据流的不同部分消费数据,每个消费者组都能独立地处理消息,这样可以并行处理和提高效率。 阻塞操作:消费者可以设置阻塞操作,这样它们会在流中有新数据添加时被唤醒 ...
前言 随着工业4.0时代的到来,物联网技术正在以前所未有的速度改变着我们的生产和生活方式。本文给大家介绍一个基于 .NET 6 开发的跨平台工业物联网网关解决方案。 工业物联网(IIoT)成为了连接物理世界与数字世界的纽带。而在这个网络中,工业物联网网关就像是一个智能的交通警察,负责指挥着设备与云端 ...
通过以下方式可以高效,并保证数据同步的可靠性 1.API设计 使用RESTful设计,确保API端点明确,并使用适当的HTTP方法(如POST用于创建,PUT用于更新)。 设计清晰的请求和响应模型,以确保客户端能够理解预期格式。 2.数据验证 在服务器端进行严格的数据验证,确保接收到的数据符合预期格 ...
操作筛选器是 ASP.NET Core Web API 中的一种过滤器,用于在执行控制器操作(Action)之前或之后执行一些代码,完成特定的功能,比如执行日志记录、身份验证、授权、异常处理等通用的处理逻辑。 ...
本文章主要是在C# ASP.NET Core Web API框架实现向手机发送验证码短信功能。这里我选择是一个互亿无线短信验证码平台,其实像阿里云,腾讯云上面也可以。 首先我们先去 互亿无线 https://www.ihuyi.com/api/sms.html 去注册一个账号 注册完成账号后,它会送 ...
1.前言 什么是热更新 游戏或者软件更新时,无需重新下载客户端进行安装,而是在应用程序启动的情况下,在内部进行资源或者代码更新 Unity目前常用热更新解决方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用资源管理解决方案 AssetBundles,Addressable, ...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选择器参考文章 简介 动态内容网站使用 JavaScript 脚本动态检索和渲染数据,爬取信息时需要模拟浏览器行为,否则获取到的源码基本是空的。 本文使用的爬取步骤如下: 使用 Selenium 获取渲染后的 HTML 文档 使 ...
Serilog支持多种接收器用于日志存储,增强器用于添加属性,LogContext管理动态属性,支持多种输出格式包括纯文本、JSON及ExpressionTemplate。还提供了自定义格式化选项,适用于不同需求。 ...
前言 随着物联网(IoT)技术的迅猛发展,MQTT(消息队列遥测传输)协议凭借其轻量级和高效性,已成为众多物联网应用的首选通信标准。 MQTTnet 作为一个高性能的 .NET 开源库,为 .NET 平台上的 MQTT 客户端与服务器开发提供了强大的支持。 本文将全面介绍 MQTTnet 的核心功能 ...
话不多说,直接开干 一.下载 1.官方链接下载: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下载目录中找到下面这个小的安装包 SQL2022-SSEI-Dev.exe,运行开始下载SQL server; 二. ...
项目地址 项目后端地址: https://github.com/ZyPLJ/ZYTteeHole 项目前端页面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前项目测试访问地址: http://tree ...
先看效果 我修改了ToggleButton的ControlTemplate,在ContentPresenter外面加了4个Border,控制4个Border的位置在ControlTemplate的左上、右上、左下、右下,选中时,触发4个边框的BorderThickness <Setter Prope ...
前言 QuestPDF 是一个开源 .NET 库,用于生成 PDF 文档。使用了C# Fluent API方式可简化开发、减少错误并提高工作效率。利用它可以轻松生成 PDF 报告、发票、导出文件等。 项目介绍 QuestPDF 是一个革命性的开源 .NET 库,它彻底改变了我们生成 PDF 文档的方 ...
移动开发(一):使用.NET MAUI开发第一个安卓APP 对于工作多年的C#程序员来说,近来想尝试开发一款安卓APP,考虑了很久最终选择使用.NET MAUI这个微软官方的框架来尝试体验开发安卓APP,毕竟是使用Visual Studio开发工具,使用起来也比较的顺手,结合微软官方的教程进行了安卓 ...
在工作中,我们常要接手别人的vue项目,那我们从svn、git上拿到别人的vue项目后,要如何跑起来呢? 第1步 将项目里的“node_modules”文件夹删除,这是vue项目的依赖包。不过由于“node_modules”文件夹太大,一般不会打包上传到svn、git上的,所以没有这个文件夹就不用删 ...
Serilog日志通过Log或ILogger接口记录,支持消息模板,属性名匹配参数。日志级别按重要性递增,如Verbose、Debug、Info等。日志事件可标记来源和标识符用于关联。提供动态级别调整及源上下文功能。 ...