上位机开发福利!快速掌握.NET中的Modbus通信
2024/5/27 11:59:06

安装nuget包 Wesky..OpenTools 1.0.8或以上版本。支持. framewk 4.6以上版本,以及所有. ce以及以上版本引用。 开发一个简单的Winfm界面,用来测试使用。如需该winfm的demo,可以在公众号【Dot Dancer】后台,回复 modbus 即可获取。 通信连接之前,可能存在多个客户端。可以写一个modbus客户端的静态数组存储。例如有五个客户端: 连接操作解析:假设有5个连接,此处都使用同一个服务端地址,实际情况请根据自己需要进行调整。连接后的客户端,存

基于WPF+Sqlite开发抽奖软件【内附源码】
2024/5/27 11:59:06

在很早之前,就想过开发一款抽奖软件,却一直没有实际去做,最近经过一段时间的准备,终于开发出了一款基于WPF+Sqlite版的抽奖软件,包括客户端和管理端。本项目主要是为了熟悉WPF开发流程,仅供学习分享使用,如有不足之处,还请指正。 涉及知识点 抽奖软件是包括客户端和管理端,在抽奖软件开发过程中,主要用到了如下知识点:开发工具:Visual Studion 2022 开发框架:.6.0 + WPF MVVM框架:CommunityToolkit.Mvvm 8.2.2 数据库:Sqlite M框架:

自定义分页控件
2024/5/27 11:59:05

自定义分页控件 tip: 该控件的样式用的是materialDesign库,需要下载Nuget包 CodeXamlUserControlx:Class="TestTool.CustomControls.PagingControl"xmlns="http:schemas.microsoft.comwinfx2006xamlpresentation"xmlns:x="http:schemas.microsoft.comwinfx2006xaml"xmlns:d="http:schemas.microsoft.

Dapper迁移SqlSugar问题汇总
2024/5/27 11:59:05

最近群里有个小伙伴把Dapper迁移SqlSugar几个不能解决的问题进行一个汇总,我正好写一篇文章来讲解一下 一、sql where in传参问题: FROM users where id IN @ids 答: SqlSugar中应该是var sql=" FROM users where id IN (@ids)"要有()和dapper有差异 var list=db.Ado.SqlQueryUsers(sqlnew {ids=new int[]{123}})  二、Dapper查询出来的Dyna

自定义可移动点二维坐标轴控件
2024/5/27 11:59:04

自定义可移动点二维坐标轴控件 目录路由参数 坐标轴控件定义 Demo路由参数 X_YResultCollection为当前X轴对应Y轴值存储字典 public class ResultCollectionChangedEventArgs(RoutedEvent routedEvent object source IDictionarydouble double resultCollection) : RoutedEventArgs(routedEvent source) {public IDictiona

Avalonia中的线性渐变画刷LinearGradientBrush
2024/5/27 11:59:04

在WPF中使用Shape实现复杂线条动画后,尝试在Avalonia中也实现同样效果。尽管官方提供了从WPF到Avalonia的快速入门文档,但由于第一次使用Avalonia,体验过程中并不是很顺利,主要是卡在线性渐变画刷LinearGradientBrush的使用上。Avalonia中的线性渐变画刷与WPF中的略有差异,但相关文档并不多,故将此次经历记录下来并分享,希望能帮助大家少走弯路。由于Avalonia在持续更新,本文所述内容仅针对Avalonia 11.0.10版本。WPF中的LinearGrad

EDP .Net开发框架--自动化日志
2024/5/27 11:59:02

平台下载地址:https:gitee.comalwaysinsistedp自动化日志不需要额外调用日志相关功能即可无感实现程序集方法调用的日志记录。创建业务逻辑处理类 public class StudentBLL : BusinessLogicBaseStudentBLL 继承基类BusinessLogicBase T 定义业务逻辑方法点击查看代码 [AutoLog(ActionEnum. "学生信息")] public ResultModelbool AddStudent(StudentModel

在VB.NET项目中使用C#编写的代码
2024/5/27 11:59:02

前言 VB.,全名Visual Basic .,是Microsoft .框架的一部分,是一种面向对象的编程语言。它继承了Visual Basic的易用性,同时增加了对面向对象编程的支持。VB.提供了大量的内置函数,使得开发者可以更容易地处理字符串、数学计算、文件和目录访问等任务。它还提供了对Windows Fms和WPF的强大支持,使得开发Windows桌面应用程序变得更加简单。VB.的语法简洁明了,是初学者学习面向对象编程的好选择。 我个人刚开始接触.的时候,也是使用的VB.,但是随着自己对.的深入,我

C#如何用最简单方法调用Python?
2024/5/27 11:59:01

最近有群友咨询C#如何调用Python?小编尝试Python.过程中遭遇的版本兼容性和环境配置难题,小编决定寻找一个更为简单、稳定且对初学者友好的解决方案。小编搜索一番,除了Python.之外,还有其他途径能够帮助我们轻松地在C#项目调用Python脚本,那就是通过命令行调用,使用 System.Diagnostics.Process 类可以启动 Python 进程,并通过命令行参数传递脚本路径等信息。调用流程如下: 1、环境准备 在操作系统中安装好python,最好3.0以上版本;然后新建一个.8控制台

.NET中特性+反射 实现数据校验
2024/5/27 11:59:01

.中特性+反射 实现数据校验 在.中,我们可以使用特性+反射来实现数据校验。特性是一种用于为程序中的代码添加元数据的机制。元数据是与程序中的代码相关联的数据,但不直接成为代码的一部分。通过特性,我们可以为类、方法、属性等添加额外的信息,这些信息可以在运行时通过反射获取和使用。 对反射不太熟悉的小伙伴可以去看我以前的文章 .中的反射 为了实现数据校验,我们可以定义一个自定义特性,并将其应用于需要校验的属性或参数上。然后,我们可以编写代码来检查这些特性,并根据特性的配置执行相应的校验逻辑。 示例代码 定义自定

Biwen.Settings添加对IConfiguration&IOptions的集成支持
2024/5/27 11:59:01

Biwen.Settings 是一个简易的配置项管理模块主要的作用就是可以校验并持久化配置项比如将自己的配置存储到数据库中JSON文件中等 使用上也是很简单只需要在服务中注入配置 比如我们有一个GithubSetting的配置项我们只需要定义好对象然后注入到Service中即可:[Deion("Github配置")]public class GithubSetting : ValidationSettingBaseGithubSetting{[Deion("Github用户名")]public strin

QShop商城-项目介绍
2024/5/27 11:59:00

QShop商城项目介绍QShop商城,是全新推出的一款轻量级、高性能、前后端分离的电商系统,支持微信小程序,前后端源码100%开源,完美支持二次开发,让您快速搭建个性化独立商城。 技术架构:.6、WebAPI、Swagger、NUnit、VUE、ElementUI、Ant Design Vue,专注轻量可持续稳定的高可用系统,可学习可商用。 技术特点前后端完全分离 (互不依赖 开发效率高) 采用.6(跨平台 WindowsLinux都可发布) UniAPP(开发跨平台应用的前端框架) ElementUI(

C#.Net筑基-类型系统①基础
2024/5/27 11:58:59

C#.的BCL提供了丰富的类型,最基础的是值类型、引用类型,而他们的共同(隐私)祖先是 System.Object(万物之源),所以任何类型都可以转换为Object。01、数据类型汇总 C#. 类型结构总结如下图,Object是万物之源。最常用的就是值类型、引用类型,指针是一个特殊的值类型,泛型必须指定确定的类型参数后才是一个正式的类型。1.1、值类型汇总⭐🔸值类型 Type 说明 示例备注byte System.Byte 8 位(1字节)无符号整数,0到255,sbyte System.SByte 8

Clear Code for Minimal API
2024/5/27 11:58:56

我在写MinimalAPI的时候,发现不能最清晰的看到每个API,原因就是:WebAPI中不断增长逻辑处理过程 于是我在想如何简化API至一行,在一点一点想办法中,发现了简化Dot Minimal API的方式。特此记录下来这个思路给需要帮助的人。我的灵感来源于 C# 11 功能 接口中的静态虚拟成员,通过静态虚拟成员清晰整个API。这是我思路的最终结果:在 Program.cs 中我们能通过一行代码,清晰的看到代码情况。 而无需指定平常不是很关心的处理过程和请求方式。 app.MapGroup("Co

.NET 中的表达式树
2024/5/27 11:58:56

. 中的表达式树(Expression Trees) 表达式树是什么? 表达式树(Expression Trees)是.框架中的一个强大功能,它将代码表示为一个由表达式节点组成的树形结构。每个节点代表代码中的一个操作,例如方法调用、算术运算、逻辑运算等。表达式树允许开发者在运行时分析、修改和执行代码。 具体应用场景动态查询:在LINQ to Entities中,表达式树用于将LINQ查询转换为SQL语句,以便在数据库中执行。 动态编译:使用System.Linq.Expressions命名空间中的API,

EDP .Net开发框架--WebApi
2024/5/27 11:58:56

平台下载地址:https:gitee.comalwaysinsistedp按分类管理EDP所提供的WebApi接口,以供其他应用调用。WebApi接口不仅可以进行访问控制管理,同时还提供了版本管理,同一WebApi接口支持多个不同版本以满足接口调用方的多版本支持。 WebApi接口的数据是通过调用业务方法来获取的,而业务方法是基于业务对象的,因此WebApi获取的数据行、列同样是受权限管控的。 WebApi开发 public class StudentAPI : WebApiBase 继承基类WebApi

SqlSugar SqlFunc常用方法
2024/5/27 11:58:55

开始做项目管理了(本人3年java,来到这边之后真没想到...),天天开会沟通整理需求,他们讲话的时候忙里偷闲整理一下常用的方法,其实语言还是有共通性的,基本上看到方法名就大概能猜出来用法。出去打水的时候看到外面太阳好好,真想在外面坐着晒太阳,回来的时候好兄弟三年前送给我的键盘D键不灵了,在打"等待领导确定"这句话的时候绷不住了,我的人生干脆给AI生成算了 逻辑判断 IIF 类似于三元表达式了 SqlFunc.IIF(it.EnabledMark == 1 "正常" "停用")Equals 是否相等 Sq

【.NET项目分享】免费开源的静态博客生成工具EasyBlog,5分钟拥有自己的博客
2024/5/27 11:58:55

EasyBlog 说明 本博客系统通过构建工具生成纯静态的博客网站,借助GitHub Pages,你可以在5分钟内免费拥有个人博客。 它具有以下特点生成纯静态网站,访问速度极快 使用markdown格式来编写博客内容 基于git代码管理来存储你的博客 使用CI工具来自动化部署你的博客站点效果展示:NilT's Blog 开源地址 视频介绍 🎖️功能主页博客列表,支持搜索和分类和存档筛选 自定义网站名称和说明 随系统变化的Light和Dark主题 移动端的自适应显示 TOC支持 mermaidnomnom

Polly的基本用法
2024/5/27 11:58:55

Polly 是一个在 C# 中用于处理瞬态故障和提供弹性的库。它允许你以声明式的方式定义策略,如重试、熔断、超时、回退等,这些策略可以帮助你的代码在出现故障时保持稳健和可靠。 以下是如何在 C# 中使用 Polly 实现重试策略的基本步骤:首先,你需要在你的项目中安装 Polly 包。这可以通过 NuGet 包管理器来完成。在 Visual Studio 中,右键点击你的项目 选择 "Manage NuGet Packages..." 搜索 "Polly" 点击 "Install"。在你的代码中,引

记一次 .NET某酒店后台服务 卡死分析
2024/5/27 11:58:54

一:背景 1. 讲故事 停了一个月没有更新文章了,主要是忙于写 C#内功修炼系列的PPT,现在基本上接近尾声,可以回头继续更新这段时间分析dump的一些事故报告,有朋友微信上找到我,说他们的系统出现了大量的http超时,程序不响应处理了,让我帮忙看下怎么回事,dump也抓到了。 二:WinDbg分析 1. 为什么会出现请求超时 既然超时说明server端不响应这个请求,继而达到了超时时间的一种异常情况,所以首先要想到的就是 线程池的健康度,可以用 !tp 命令观察,输出如下:0:000 !tp CPU u

开源低代码框架 ReZero API 正式版本发布 ,界面操作直接生成API
2024/5/27 11:58:50

一、ReZero简介 ReZero是一款.中间件 : 全网唯一开源界面操作就能生成API 可以集成到任何.6+ API项目无破坏性,也可让非.用户使用exe文件 免费开源:MIT最宽松协议 一直从事开源事业十年,一直坚持开源1.1 纯ReZero开发 适合. Ce零基础用户,大大简化了. Ce开发门槛,只需要1天就能开发项目 自带授权、模块化、IOC、工作单元、M等等、json配置、动态API低代码 等等 1.2 集成ReZero开发 集成到现有项目中,无论你用的什么M框架或者Abp、blog.ce

EDP .Net开发框架--权限
2024/5/27 11:58:49

平台下载地址:https:gitee.comalwaysinsistedp权限介绍 权限实际上就是谁有权使用或是访问什么,这里的“谁”可以视作"授权对象""什么"可以视作"权限对象"。例如张三可以访问用户数据,那么张三就是“授权对象”,用户数据就是"权限对象"。权限对象 包括业务功能,业务功能元素,WebApi接口,业务参数,业务模型,业务模型属性,业务模型视图。授权对象 包括职务,部门职位,组织类型,组织单元,角色,用户。权限管理 权限设置是双向的,既可以通过“权限对象”的维度来设置,也可以通过“授权对

使用 Spacesniffer 找回 48G 系统存储空间的总结
2024/5/27 11:58:47

前言Spacesniffer 是一个免费的文件扫描工具,通过使用树状图可视化布局,可以立即了解大文件夹的位置,帮助用户处理找到这些文件夹当前系统C盘空间清理后系统C盘空间下载 Spacesniffer 下载地址:https:spacesniffer.en.softonic.comdownload 使用管理员身份启动 Spacesniffer扫描C盘等待扫描完成分析大文件 主要针对一些不常见但又占很大的做处理,系统和开发的包是尽量不动,处理通信工具和一些可以移动或删除的文件即可 系统 AppDataDocu

efcore如何优雅的实现按年分库按月分表
2024/5/27 11:58:45

efce如何优雅的实现按年分库按月分表 介绍 本文ShardinfCe版本 本期主角: ShardingCe 一款efce下高性能、轻量级针对分表分库读写分离的解决方案,具有零依赖、零学习成本、零业务代码入侵适配 距离上次发文.相关的已经有很久了期间一直在从事java相关的工作一不小心就卷了一个java的m。easyquery 如果有.相关小伙伴转java可以关注一下也算是打一波小广告。 这次发文主要是在期间有多名用户咨询分库分表相关的事宜因为我之前并没有针对按年分库按月分表的demo实现所以本次我打算

.NET 中 Channel 类简单使用
2024/5/27 11:58:44

Channel 是干什么的 The System.Threading.Channels namespace provides a set of synchronization data structures f passing data between producers consumers asynchronously. The library targets . Stard wks on all . implementations. Channels are an implementation o

EDP .Net开发框架--业务模型
2024/5/27 11:58:43

平台下载地址:https:gitee.comalwaysinsistedp业务模型概述 业务模型管理中所涉及的业务模型,业务模型的属性,业务模型的视图都是可以通过权限设置来实现数据的行(视图),列(属性)权限管控。业务模型是整个EDP平台的核心基础,数据的查询、新增、修改、删除、行列权限都是通过业务模型来实现的。 业务模型管理 按分类管理系统内各个业务模型,对应系统中各个业务对象。 业务模型分类 管理业务模型分类。业务模型新增业务模型编辑业务模型业务模型代码生成表设计文档模板,可以包含多个表结构设计业务模

net core jwt的基本原理和实现
2024/5/27 11:58:42

Ce 中的 JWT(JSON Web Token)基本原理和实现主要涉及到身份验证和授权的过程。以下是对 JWT 原理和实现的简要概述: JWT 原理 JWT 是一种开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为 JSON 对象在各方之间安全地传输信息。这些信息可以被验证和信任,因为它们是数字签名的。JWT 的主要组成部分包括三个部分:Header(头部):描述 JWT 的元数据,如使用的签名算法(如 HMAC SHA256 或 RSA)。 Payload(负载):包含有关声明(

C# app.config配置appSettings标签
2024/5/27 11:58:42

AppSettings标签主要用于应用程中的一些配置信息。比如上传文件的路径,需要用到的可能会根据不同环境改变的一些常量等。可以在配置文件添加可执行文件要的配置。 using System using System.Collections.Generic using System.Configurationclass Program {static void Main(string[] args){string valstrstring blbl =ReadAppSettings("Setting1"ou

记一次asp.net 8 服务器爆满的解决过程
2024/5/27 11:48:27

1.描述一下服务器配置: 一台2c4g的centos做api接口反代 一台8c16g的windows 2019 作为实际服务器跑了iissql servermongodbredis 2.业务描述 2.0 服务器分为两个站点:imptapi:用于处理数据导入webapi:用于处理对用户端的数据查询 2.1 从数据源采集数据后经过一系列的操作之后写入sql和mongodb部分基础信息会缓存在redis中根据数据量的大小从处理到写入的整个流程时间在60ms1200ms之间平均每秒服务器需要处理

非常全能WinForm 开发框架
2024/5/27 11:48:27

欢迎ReaLTaiiz是一个用户友好的、以设计为中心的. WinFms项目控件库,包含广泛的组件。您可以使用不同的主题选项对项目进行个性化设置,并自定义用户控件,以使您的应用程序更加专业。 项目地址:https:github.comTaiizReaLTaiiz 步骤1:添加ReaLTaiiz的引用或在NuGet上搜索ReaLTaiizInstallPackage ReaLTaiizReaLTaiiz 组件非常丰富,它可以帮助您轻松高效的搭建美观简洁 WinFm 程序,下面是一些官方网站列出的使用案例,用做