ABP VNext 8 + MySQL 数据分表
2024/8/30 14:48:10

项目使用ABP框架,最近有需求数据量会持续变大,需要分表存储。 发现ShardinfCe可以快速实现EF分表操作,并且作者@薛家明还特别为ABP集成写了教程,完美的选择。 ShardinfCe作者教程很齐全,这次以ABP 8.的用户视角进行集成记录,希望帮到需要的人。 开发环境: ABP VNext 8.1.5 + EF 8.0.4 + ShardinfCe 7.8.1.21 + Mysql 8.2.0 新同学注意区分ABP和ABP VNext,本文用的是这个:ABP.IO Modern ASP. Ce

.NET 免费开源工业物联网网关
2024/8/30 14:48:07

前言 IoTClient 是一个针对物联网 (IoT) 领域的开源客户端库,它主要用于实现与各种工业设备之间的通信。这个库是用 C# 编写的,并且基于 . Stard 2.0,这意味着可以用于多个版本的.,包括 . Framewk、. Ce、. 5 及以上版本,以及 Xamarin 和 UWP。 项目介绍 IoTClient 是一款基于 . Stard 2.0 的开源免费客户端库,适用于跨平台的 . 开发,可在 Windows、Linux 乃至树莓派等平台上运行。 该组件支持主流的工业通讯协议,包括 PL

WPFUI报错
2024/8/30 14:48:05

WPFUI报错 page does not have a parameterless construct. If you are using Wpf.Ui.IPageService do not navigate initially don't use Cache Precache 问题原因 WPFUI中的NavigationView只支持导航页面的无参构造函数或含一个dataContext的有参构造函数。因为在View的构造函数中注入了一些服务,导致View创建失败,WPFUI报错。 问题处理 查看

看外语视频神器,将本地视频通过AI技术自动生成字幕及翻译字幕
2024/8/30 14:47:58

迈信达音视频字幕软件(MaixindaSubtitle)是一款专注于自动化视频转录文本、字幕制作、字幕翻译的AI自动化字幕软件。通过AI一键生成本地音频与视频的字幕文件,及翻译字幕内容。使用AI提取音视频对话内容后翻译、生成字幕文件,可以低成本并高效地将任意语言的视频、音频转录并翻译为目标语言,适用于多种学习、工作、娱乐场景,如英语学习、外语慕课视频观看、外语生肉视频抢先观看、视频翻译搬运。软件操作简单,任何人均可轻松上手制作自己的多语言字幕和视频。支持字幕翻译、GPU加速、多任务处理、VR视频、字幕微调

.NET 开源权限认证项目 MiniAuth上线
2024/8/30 14:47:56

前言 在Web应用项目中权限认证是个绕不开的话题,传统方法复杂又耗时。MiniAuth推出专为.开发者设计的简单、实用的权限认证项目。 MiniAuth,作为ASP. Ce的插件,让我们快速轻松实现用户登录、权限检查等功能。它支持多种认证方式,如JWT、Cookie,且易于集成到现有项目中。 无论是开发WebAPI 还是MVC应用,MiniAuth都能帮助我们快速搭建起后台管理系统。它简单易用,不改变现有数据库结构,也不增加学习成本。 MiniAuth,让权限管理不再繁琐,快速开发更加高效。快来试试吧!

推荐一款界面优雅、功能强大的 .NET + Vue 权限管理系统
2024/8/30 14:47:54

前言 今天推荐一款用 . 和 Vue3 实现的开源权限管理系统。它的界面清爽干净,功能强大,还具备灵活的角色权限分配功能,能够满足不同规模企业的管理需求。无论你是开发新手还是大神,都能轻松上手,快速搭建起自己的权限管理体系。别再犹豫了,赶快来试试吧! 项目简介 Malus是海棠的意思,顾名思义,海棠后台管理系统,读音与【马卢斯】相近,也可称作为马卢斯后台管理系统。 海棠后台管理系统,基于7+Vue3+Soybean 开发的前后端分离式权限管理系统采用最原生最简洁的方式来实现 前端清新优雅高颜值,后端 结构

C#.Net筑基-解密委托与事件
2024/8/30 14:47:52

委托与事件是C#中历史比较悠久的技术,从C#1.0开始就有了,核心作用就是将方法作为参数(变量)来传递和使用。其中委托是基础,需要熟练掌握,编程中常用的Lambda表达式、Action、Func都是委托,包括事件也是基于委托实现的。01、认识委托delegate 1.1、什么是委托? 委托是一种用来包装方法的特殊类型,可以将方法包装为对象进行传递、调用,类似函数指针。delegate 关键字用来定义一个委托类型,语法类似方法申明,可以看做是一个“方法签名模板”,和方法一样定义了方法的返回值、参数。用 de

使用Aspire优雅的进行全栈开发——WinUI使用Semantic Kernel调用智普清言LLM总结Asp.Net Core通过Playwright解析的网页内容
2024/8/30 14:47:51

前言 这算是一篇学习记录博客了,主要是学习语义内核(Semantic Kernel)的实践,以及Aspire进行全栈开发的上手体验,我是采用Aspire同时启动API服务,Blaz前端服务以及WinUI的桌面端项目,同时进行三个项目的代码修改,整体感觉很方便,如果代码都修改了只需要启动Aspire项目,不用每个项目单独起一遍了,而且速度很快,即使是有用容器服务的情况下。 技术方案 1. 框架选型WebApi使用Asp. Ce WebApi实现。 Bing搜索结果获取,以及网页解析内容提取使用的是PlayW

【EF Core】自动生成的字段值
2024/8/30 14:47:51

自动生成字段值,咱们首先想到的是主键列(带 IDENTITY 的主键)。EF Ce 默认的主键配置也是启用 Identity 自增长的,而且可以自动标识主键。前提是代表主键的实体属性名要符合以下规则: 1、名字叫 ID、id、或 Id,就是不分大小写; 2、名字由实体类名 + Id 构成。比如,Car 实体类,包含一个属性叫 CarID 或 CarId; 3、属性类型是整数类型(int、long、usht 等,但不是 byte)或 GUID。 这些识别主键的规则是由一种叫“约定”(Convension)的

.Net内存管理释放的两种方式
2024/8/30 14:47:50

在.中,资源回收主要是指内存管理和非托管资源的释放。分别提供了两种主要的方式进行处理:垃圾回收(GC) 确认性资源释放(DRD)官网相关文档的链接:https:learn.microsoft.comzhcndotstardmanagedcode 垃圾回收(Garbage Collection) 垃圾回收是.运行时自动处理内存管理的一种机制。它负责检测不再被应用程序使用的对象,并释放这些对象占用的内存 特点:自动运行,不需要开发者显性调用 当内存不足时触发 释放托管内存(即通过.内村分配的内存) 不保证立即

使用 Alba 对 AspnetCore项目进行测试
2024/8/30 14:47:50

前言 在AspCe生态系统中我们测试项目一般使用Microsoft.AspCe.TestHost的TestServer 到.6后提供的Microsoft.AspCe.Mvc.Testing的WebApplicationFacty后者是前者的封装专门用于测试 ASP. Ce 应用程序。它简化了创建和配置测试服务器的过程。而Alba也是基于前者的封装同样提供了一些好用的测试体验 使用 Alba 进行集成测试 以下我们来体验一下TA的一些好用的测试体验: 首先,你需要在项目中安装 Alba 包。可以使用以下命令

如何同时Ping多个IP地址
2024/8/30 14:47:49

遇到些问题需要同时ping多个地址来检查网络状态,找了一圈都是用批处理实现的简单同网段批量ping 既然没有现成的那就自己写个吧。。。。 https:github.comdawnlcPings Pings 高效、轻量的实时网络监控工具,支持对多个目标的ping以及记录延迟波动、链接状态、丢包率等功能。 下载 Pings.exe 为.8原生AOT编译版本 Github下载 upxPings.exe 为使用UPX压缩后的版本 Github下载 请根据需求自行选择使用的版本 使用方法 配置文件 Pings 使用

.NET8 Blazor 从入门到精通:(一)关键概念
2024/8/30 14:47:48

目录Blaz 的关键概念项目模板Raz 语法依赖注入注入配置HeadOutlet 组件@code 分离Blaz 调试CSS 隔离调用Javript 最近在学习 Blaz ,在B站上找了一个国外的课程边看边学习。嗯,原价¥1503的课程,大概200多美元,课程链接如下: B站(大章节分P适合初学):. 8 Blaz 从入门到精通 B站(小章节分P适合复习):Blaz从入门到精通(中文字幕) 官网课程:Blaz From Start to FinishBlaz 的关键概念 本文主要介绍Blaz 的关键概念,每

.NET 8 通用权限框架 前后端分离,开箱即用
2024/8/30 14:47:47

前言​ 推荐一个基于. 8 实现的通用权限开发框架Admin.,前端使用Vue3Elementplus开发。 基于. 8(Furion)SqlSugar实现的通用管理平台。整合最新技术,模块插件式开发,前后端分离,开箱即用。 集成多租户、缓存、数据校验、鉴权、事件总线、动态API、通讯、远程请求、任务调度、gRPC等众多黑科技。 代码简洁、易扩展、注释详细、易于上手、二次开发,即便是复杂业务逻辑也能迅速实现,真正实现"开箱即用"。 让开发更简单、更通用、更流行! 项目介绍 面向中小企业快速开发平台框架,框

c#获取惠普打印机状态
2024/8/30 14:47:45

最近遇到一个项目,由于客户指定了打印机型号:HP LaserJet Pro M501n ,本来想着参考网上的代码,使用System.Management来实现对打印机状态的查询,测试过程中发现无论是缺纸、空闲,获取到的统统都是空闲状态,咨询售后也是说无法获取状态,也不提供SDK;后面在社区看见可以通过网页访问打印机状态,输入IP即可,索性试了下,页面如下图: 从图上可以看到有打印机当前的状态为【已打开睡眠模式】,其他状态例如缺纸也测试过,是可以正常显示的,所以想着能通过网页访问的方式,找到对应元素下面的

稀土领域生产一体化管控系统建设案例
2024/8/30 14:47:43

稀土领域生产一体化管控系统案例 目 录 1. 项目背景... 2 2. 实现目标... 2 3. 整体框架... 3 4. 集控中心改造... 4 5. 车间加装传感器及网络改造... 5 6. 边缘工艺模型及仿真... 5 7. 基础工业互联网平台... 6 8. 稀土生产一体化管控业务... 6 9. 掌上工厂... 6 注:本文档为案例宣传资料,省略涉密和方案细节内容。 1. 项目背景稀土是国家

.NET 结果与错误处理利器 FluentResults
2024/8/30 14:47:41

前言 在项目开发中,方法返回的结果(成功或失败)对我们开发来说很重要。传统方法,如通过异常来指示错误或使用特定的返回类型(如布尔值加输出参数),虽然有效,但可能缺乏直观性和灵活性。 FluentResults库应运而生,它以一种既流畅又富有表达力的方式,极大地优化了这一过程。通过使用FluentResults,能够以一种更加自然和易于理解的方式传递操作结果,包括成功状态、错误信息、警告以及额外信息,提高代码的可读性和可维护性。 这种方式不仅让错误处理更加集中和一致,还使得代码结构更加清晰,逻辑更加流畅。

C# 工厂模式学习
2024/5/27 11:59:20

工厂模式(Facty Pattern)是一种创建型设计模式,它提供了一种创建对象的接口,而不是通过具体类来实例化对象。工厂模式可以将对象的创建过程封装起来,使代码更具有灵活性和可扩展性。 工厂模式有几种常见的实现方式:简单工厂模式(Simple Facty Pattern): 简单工厂模式通过一个工厂类来决定创建哪种具体类的实例。这个工厂类通常提供一个静态方法,根据传入的参数创建相应的对象。工厂方法模式(Facty Method Pattern): 工厂方法模式定义了一个创建对象的接口,但由子类决定要实例

记一次 .NET某企业数字化平台 崩溃分析
2024/5/27 11:59:19

一:背景 1. 讲故事 前些天群里有一个朋友说他们软件会偶发崩溃,想分析看看是怎么回事,所幸的是自己会抓dump文件,有了dump就比较好分析了,接下来我们开始吧。 二:WinDbg 分析 1. 程序为什么会崩溃 windbg 还是非常强大的,当你双击打开的时候会自动帮你定位过去展示崩溃时刻的寄存器和线程栈上下文,都省了 !analyze v 命令分析了,输出如下:Loading unloaded module list ............... This dump file has an exce

.NET集成DeveloperSharp实现http网络请求&与其它工具的比较
2024/5/27 11:59:18

爆了,爆了,DeveloperSharp系列近期又被制造业ERP、民航飞行App、建筑BIM、电力掌上营业厅、等多家大型采用,站在巨人的肩膀上你能走的更远。 支持. Ce2.0及以上,支持. Framewk4.0及以上 http请求调用是开发中经常会用到的功能。在内,调用自有项目的Web Api等形式接口时会用到;在外,调用一些第三方功能接口时,也会用到,因为,这些第三方功能往往是通过http地址的形式提供的,比如:短信服务、在线翻译、地图服务、语音智能、等… http请求调用,又分为Post与G

StackExchange.Redis跑起来,为什么这么溜?
2024/5/27 11:59:18

StackExchange.Redis 是一个高性能的 Redis 客户端库,主要用于 . 环境下与 Redis 服务器进行通信,大名鼎鼎的stackoverflow 网站就使用它。它使用异步编程模型,能够高效处理大量请求。支持 Redis 的绝大部分功能,包括发布订阅、事务、Lua 脚本等。由 StackExchange 团队维护,质量和更新频率有保障。这篇文章就来给大家分享下 StackExchange.Redis 为什么玩的这么溜。 我将通过分析 StackExchange.Redis 中的同步调用

C#的奇技淫巧:利用WinRM来远程操控其他服务器上的进程
2024/5/27 11:59:16

前言:有时候远程服务器的进程你想偷偷去围观一下有哪些,或者对一些比较调皮的进程进行封杀,或者对一些自己研发的服务进行远程手动启动或者重启等,又不想打开远程桌面,只想悄咪咪地执行,那也许下面的文章会对你有启发。 前提条件确保远程服务器(服务端)已启用WinRM。在远程服务器上运行以下命令可以启用和配置WinRM:winrm quickconfig确保执行远程命令的客户端和服务器之间的防火墙规则允许WinRM通信(默认使用端口5985和5986)。 本地客户端网络,需要设置为专用网络打开设置: 点击开始按

VSTO 撤回代码修改的值
2024/5/27 11:59:15

不废话,直接代码 private StackAction actionStack = new StackAction()private void SetCellValues() {var wksheet = Globals.ThisAddIn.Application.ActiveSheet as Excel.Wksheetvar range = wksheet.Range["A1"]var previousValue = range.Value2 保存当前状态以便恢复actionStack.Push(()

NET9 AspnetCore将整合OpenAPI的文档生成功能而无需三方库
2024/5/27 11:59:15

OpenAPI 规范是用于描述 HTTP API 的标准。该标准允许开发人员定义 API 的形状,这些 API 可以插入到客户端生成器、服务器生成器、测试工具、文档等中。尽管该标准具有普遍性和普遍性,但 ASP. Ce 在框架内默认不提供对 OpenAPI 的支持。 当前 ASP. Ce 不提供对 OpenAPI 的内置支持。不过内置支持了 ApiExpler 这是一个有用的抽象,它提供有关在应用程序中注册的路由的元数据。此元数据可通过 DI 容器访问,并由生态系统中的工具(如 Asp.Api.Versi

Master of Both —— Trie的应用
2024/5/27 11:59:14

Trie 树所有在老鼠岛上的老鼠都应该学习Trie树!——伟大的吱嘎鼠Trie树,就是所有Oier们喜闻乐见的字符串的超级优化的数据结构!已阅,狗屁不通。——吱嘎鼠字典树,顾名思义,是一颗很像字典的树,将相同前缀的字符串合并在一起,当出现不同时就分支,成为这样的树。在这样的树上,我们可以很快地完成关于前缀的问题。 Master of Both 题面 先看题面~ HuiBot教授是弦论和高级数据结构的大师,所以他提出了一个有趣的问题。给定一个仅由小写英文字母组成的 \(n\) 字符串序列,当按字典顺序比较字

微服务下认证授权框架的探讨
2024/5/27 11:59:12

前言 市面上关于认证授权的框架已经比较丰富了大都是关于单体应用的认证授权在分布式架构下使用比较多的方案是应用网关网关里集中认证将认证通过的请求再转发给代理的服务这种中心化的方式并不适用于微服务这里讨论另一种方案认证中心利用jwt去中心化的特性减轻认证中心的压力有理解错误的地方欢迎拍砖以免误人子弟有点干货但是不多需求背景 一个项目拆分为若干个微服务根据业务形态大致分为以下几种工程 1.纯前端应用 示例一个简单的H5活动页面商户仅仅需要登录就可以参与活动 2.前后端分离应用 示例如xxx后台xxxApi由一个

EDP .Net开发框架--组织架构
2024/5/27 11:59:11

职类 职类是将职务进行分类管理,并定义了职类标记和职级。职类标记会带入到该职类下的职务作为职务的标记,并为职务提供职级范围选择。“高管类”职类定义了其职级范围为“PM13至PM16”,那么该职类下的职务的职级就只能在这个范围内。 职务 定义和管理组织架构中的职务。职务必须属于某个职类。 职务的职级只能在职类定义的职级范围内选择。 职务有上下级关系。 部门可以选择一个或多个职务作为该部门的编制(部门职位)。 职务可以设置权限,用户可继承职务的权限。“董事长”,“校长”,“副校长”都是属于“校领导”职类,职级

使用Blazor构建CRUD项目
2024/5/27 11:59:09

在小公司中,往往没有一个前后端分离的大型团队,去各司其职的负责构建web应用程序。面对比较简单的需求,可能所谓团队只有一个人,既要开发前端又要开发后端。 如果能有一项技术,能够前后端通吃,并且具备非常高的开发效率,那就非常适合小公司的小型项目的小型甚至一人团队来使用了。 aspdot就是这样高效的后端开发框架,而有了blaz后,C#前端也可以通吃了,真正做到了一套框架,一种语言,前后端通吃。 本文使用aspdot + blaz,快速构建了一个CRUD项目。 1. 新建项目 新的Blaz Web App,可

C#.Net筑基-类型系统②常见类型
2024/5/27 11:59:08

01、结构体类型Struct 结构体 struct 是一种用户自定义的值类型,常用于定义一些简单(轻量)的数据结构。对于一些局部使用的数据结构,优先使用结构体,效率要高很多。可以有构造函数,也可以没有。因此初始化时可以new,也可以用默认default。但当给字段设置了初始值时,则必须有显示的构造函数。 结构体中可以定义字段、属性、方法,不能使用终结器。 结构体可继承接口,并实现接口,但不能继承其他类、结构体。 结构体是值类型,被分配在栈上面,因此在参数传递时为值传递。⁉️结构体始终都是分配在栈上吗?——

.NET8 Identity Register
2024/5/27 11:59:06

分享给需要帮助的人:记一次 IdentityAPI 中注册的源码解读,为什么有这篇文 因为当我看到源码时,发现它的逻辑竟然是固定死的。我们并不是只能按照微软提供的源码去做。此文内容包含:设置用户账户为未验证状态、延迟用户创建、优缺点的说明、适用场景。在ASP. 8 Identity 中注册API的源码如下: routeGroup.MapPost("register" async TaskResultsOk ValidationProblem([FromBody] RegisterRequest regis