.NET中有多少种定时器
2024/5/27 11:35:45

.中至少有6种定时器,每一种定时器都有它的用途和特点。根据定时器的应用场景,可以分为UI相关的定时器和UI无关的定时器。本文将简单介绍这6种定时器的基本用法和特点。 UI定时器 .中的UI定时器主要是WinFm、WPF以及WebFm中的定时器。分别为:System.Windows.Fms.Timer System.Windows.Threading.DispatcherTimer System.Web.UI.Timer通常情况下,WinFm、WPF中的定时器是在UI线程上执行回调函数,因此可以直接访问UI

一篇学会cron表达式
2024/5/27 11:35:45

1、定义 Cron表达式是一种用于定义定时任务的格式化字符串。它被广泛用于Unix、Linux和类Unix系统中,用于在指定的时间执行预定的任务。Cron表达式由6个字段组成,每个字段通过空格分隔开。 在本文中,我们将学习如何理解和编写Cron表达式。 Cron表达式的格式如下: | | | | | | | | | | | + 星期(周日=0 或 7) | | | | + 月份(112) | | | + 日期(131) | | + 小时(023) | + 分钟(059)

仅需三行代码! C# 快速实现PDF转PPT
2024/5/27 11:35:44

一般在会议、教学或培训活动中,我们都会选择PPT文档来进行内容展示。与PDF文档相比,PPT文档具有较强的可编辑性,可以随时增删元素,并且还可以设置丰富多样的动画效果来吸引观众注意。那么如何通过C#将PDF文档转为PPT文档呢?本文将教大家仅使用3行代码就实现这一功能。 PDF转PPT所需工具: Spire.Pdf f . (v 8.11.10及以上) 安装Spire.Pdf 后导入所需命名空间,然后加载PDF文档再使用 PdfDocument.SaveToFile() 方法就可以直接将PDF转为PPTX

一个基于ASP.NET Core完全开源的CMS 解决方案
2024/5/27 11:35:41

本文简介MixCeCMS是一个基于. Ce框架的开源内容管理系统(CMS),提供了丰富的的基础功能和插件是一款面向未来的企业 Web CMS,可轻松构建任何类型的应用程序。集成了Google Analytics分析,以及友好的Seo功能,非常适合用于创建企业网站、内容系统、个人博客,也可以用于开发企业管理类型的系统。架构图功能亮点数据库 MySQL、SQL Server、PostgreSQL、SQLite可靠性 成员角色和权限。高安全性 强大的数据加密和安全合规性。多语言 灵活的多语言内容迁移。高

.net下优秀的IOC容器框架Autofac的使用方法,实例解析
2024/5/27 11:35:39

Autofac是一个功能强大的依赖注入容器,它提供了一种简单和灵活的方式来管理对象之间的依赖关系。下面是Autofac的一些优点:简单易用:Autofac提供了一种直观和简洁的方式来注册和解析依赖项。它的API设计得非常易于理解和使用,使得开发人员可以轻松地配置和管理依赖关系。 灵活性:Autofac提供了许多灵活的注册和解析选项,可以满足各种不同的需求。它支持构造函数注入、属性注入和方法注入,可以通过配置文件或代码来注册依赖项,还可以使用命名和标记来解决多个实现的问题。 生命周期管理:Autofac允许

C# 开发桌面应用简单介绍
2024/5/27 11:35:39

一. C#使用场景介绍C#是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言、运行于. Framewk和. Ce(完全开源,跨平台)之上的高级程序设计语言。 二. 开发流程1. 创建项目:打开Visual Studio后右侧选择“创建新项目”,然后选择“C# Windows窗体应用”即可创建桌面程序2. 创建窗体:创建后会自动创建一个Fm窗体作为主窗口,可以采用拖拽方式进行项目开发,通过导航栏的《视图》《工具栏》打开内置的工具箱功能3. 启动开发:开发时有两种模式,可视化开发和编写代码。可视化开

国产优秀ORM框架SqlSugar的使用方法,实例解析
2024/5/27 11:35:34

SqlSugar是一个轻量级M框架,专门用于.平台,可以简化数据库操作,提高开发效率。它支持多种数据库,包括MySQL、SqlServer、acle等,提供了丰富的功能和灵活的配置选项。 下面将详细介绍SqlSugar的使用方法及其相比其他M框架的优点。 一、SqlSugar的安装和配置 1.使用NuGet包管理器安装SqlSugar。 在Visual Studio中,右击项目,选择“管理NuGet程序包”,搜索“SqlSugar”,选择安装。 2.配置数据库连接字符串。 在app.config或web.

编程技巧 --- VS如何调试.Net源码
2024/5/27 11:35:34

引言 如题,在VS中如何调试 . 源码呢? 一般来说,VS2022,都是默认启用 F12 转到定义能够看到源码,如果大家发现自己无法使用 F12 查看源码,可以在 "工具" "选项" "文本编辑器" "C#" "高级" "转到定义",勾选所有选项就对了。但是光以上的操作还是不够的,这样的可以查看源码中类型和成员的声明,但不能看到其实现。 比如,在WPF中,CodeBehind 中使用 FindResource() 查找资源,那我们直接 F12 转到定义,则像这样:我们仅能看到他是 Framewk

.net下功能强大的HTML解析库HtmlAgilityPack,数据抓取必备
2024/5/27 11:35:33

HtmlAgilityPack是一个.平台下的HTML解析库,它可以将HTML文本转换为DOM文档对象,方便我们对HTML文本进行操作和分析。HtmlAgilityPack支持XPath语法,可以通过XPath表达式来获取DOM节点,同时还提供了一些方便的API,可以实现HTML文本的解析、修改、生成等功能。本文将详细介绍HtmlAgilityPack的使用及使用方法。 一、HtmlAgilityPack的安装 HtmlAgilityPack是一个NuGet包,可以通过Visual Studio的NuGe

.net core下优秀的日志框架使用解析,附源代码
2024/5/27 11:35:32

在 . Ce 中,日志是一个非常重要的组件,它可以帮助我们记录应用程序的运行情况,以便在出现问题时进行排查。在本文中,我们将介绍五个优秀的 . Ce 日志框架,它们分别是 Serilog、NLog、Log4、Microsoft.Extensions.Logging 和 Loupe。我们将为每个框架提供使用方法及步骤,并提供源代码示例。 1. Serilog Serilog 是一个高度可扩展的 . Ce 日志框架,它支持多种输出格式,包括控制台、文件、Elasticsearch 等。Serilog 的特点是

第一单元 ORM 介绍
2024/5/27 11:35:32

需要有的知识点:c# 基础以及c#高级基础Ado. 基础SqlServer 以及MySQL (都需要高级部分)Asp. Mvc Ce 基础 1. 新手的烦恼 (1) SQL 拼不对,错还不会找 (2) 开发效率低 (3) 如果发现字段需要重命名,得挨个地方去修改 (4) 老板说要把SQLServer换成MySQL数据库,并且需要快速上线,此时你想的不是快速上线,而是快速离职 M 框架基本解决了上述的所有问题。 2. 什么是MM(Objectrelational mapping),中文翻译为对象关

【ASP.NET Core】MVC过滤器:运行流程
2024/5/27 11:35:32

MVC 的过滤器(Filters)也翻译为“筛选器”。但是老周更喜欢翻译为“过滤器”,意思上更好理解。 既然都叫过滤器了,就是在MVC的操作方法调用前后进行特殊处理的类型。比如: a、此调用是否已授权? b、在模型绑定之前要不要修改数据源?(可能含有儿童不宜的数据) c、在调用MVC方法前要不要改一改输入参数?在MVC方法调用之后要不要处理一下结果(加点味精,进一步调味) d、发生异常后怎么处理? 过滤器可解决上面一堆提问。 在 ASP. Ce 的 MVC 框架中,所有过滤器都实现共同接口 IFilter

.NET MAUI Android 对接商米移动手持终端打印JAVA SDK
2024/5/27 11:35:30

一、前言(整个流程除了调整打印模板位子,操作下来还是挺快的 几分钟就搞定,文章图片比较多大家可能感觉操作比较麻烦,其实挺简单的)因甲方需求,需要对现项目进行升级,需要增加移动手持终端进行巡检,巡检时还需要对商品进行抽检并打印热敏不干胶标签进行贴到抽样样品上。在这样的背景下便在JD进行了采样,进行技术性研究。本文章将一步一步教大家如何使用. MAUI 来集成java printerx 来实现使用MAUI 在移动终端上进行标签打印。 下方是采购的移动终端设备。二、下载AAR 开发SDK通过官方文档我们得知 设

.NET领域性能最好的对象映射框架Mapster使用方法
2024/5/27 11:35:29

Mapster是一个开源的.对象映射库,它提供了一种简单而强大的方式来处理对象之间的映射。在本文中,我将详细介绍如何在.中使用Mapster,并提供一些实例和源代码。 和其它框架性能对比: Mapster的安装和配置:首先,打开Visual Studio并创建一个新的.项目。 在NuGet包管理器控制台中运行以下命令来安装Mapster:InstallPackage Mapster。 在项目中添加一个新的类文件,命名为MappingConfig.cs。这个类将用于配置Mapster的映射规则。配置映射规则

.NET Core MVC基础之页面传值方式📃
2024/5/27 11:35:28

. Ce MVC基础之页面传值方式📃 前言 最近工作太忙了,浅浅更新一下.基础知识。大部分面试官都会问.页面传值的几种方式,那么接下来就来细讲与实现一下吧! 页面传值分成两类第一类:控制器给视图传值 第二类:视图给控制器传值本篇文章主要讲控制器给视图传值 控制器视图 弱类型数据 ViewData ViewData是一个字典对象,可以在控制器中存储键值对,然后在视图中读取这些值。 ViewData 是通过 string 键访问的 ViewDataDictionary 对象 控制器: public Acti

C#中LINQ的使用知多少?LINQ常功能整理,实例源代码解析
2024/5/27 11:35:27

LINQ(LanguageIntegrated Query)是C#语言中的一个强大的查询技术,它提供了一种统一的查询语法,可以用于查询和操作各种数据源,包括集合、数据库、XML等。下面详细描述了LINQ的20个功能点,并提供了相应的源代码。查询集合中的所有元素:int[] numbers = { 1 2 3 4 5 }var query = from num in numbers numfeach (var num in query) {Console.WriteLine(num) }使用条件过滤集合中的

对 .NET程序2G虚拟地址紧张崩溃 的最后一次反思
2024/5/27 11:35:26

一:背景 1. 讲故事 最近接连遇到了几起 2G 虚拟地址紧张 导致的程序崩溃,基本上 90% 都集中在医疗行业,真的很无语,他们用的都是一些上古的 XP,Windows7 x86,我也知道技术人很难也基本无法推动硬件系统和设备的升级,这里蕴含了巨大的人情世故。 写这一篇的目的是想系统化的整理一下如何配置 3G 开关让程序吃到更多的内存,让程序崩溃的不那么频繁一些,以及如何验证是否成功开启! 二:32位操作系统 1. 测试代码 首先大家要有一个理念:就是 32bit系统上跑的程序,默认只能吃到 2G 内存

CPF C#跨平台UI框架开源了
2024/5/27 11:35:25

介绍 C#跨平台UI框架 提供Stard2.0和4的库,通过ce可以跨平台,支持Windows、Mac、Linux,4的可以支持XP。 各个平台运行效果一致,不依赖系统控件。 支持窗体,控件任意透明,支持异形窗体,支持SVG图标显示。 支持动画,数据绑定,Mvvm模式,CSS等,简化依赖属性,数据绑定的写法,提供数据上下文和命令上下文来绑定。 直接用CSS和C#代码描述, 提供设计器生成C#代码和开发者工具查看和调试元素。 和WPF一样的理念,任何控件都可以任意设计模板来实现各种效果 除了使用平台相关AP

ConfigureAwait in .NET8
2024/5/27 11:35:22

ConfigureAwait in .8 ConfigureAwait(true) 和 ConfigureAwait(false) 首先,让我们回顾一下原版 ConfigureAwait 的语义和历史,它采用了一个名为 continueOnCapturedContext 的布尔参数。 当对任务(Task 、TaskT、ValueTask 或 ValueTaskT)执行 await 操作时,其默认行为是捕获“上下文”的;稍后,当任务完成时,该 async 方法将在该上下文中继续执行。“上下文”是 Synch

浅谈WPF之各种Template
2024/5/27 11:35:20

前几天写了一篇文章【浅谈WPF之控件模板和数据模板】,有粉丝反馈说这两种模板容易弄混,不知道什么时候该用控件模块,什么时候该用数据模板,以及template和itemtemplate之间的关系等,今天专门写一篇文章,简述WPF中各种模板及其相互关系。仅供学习分享使用,如有不足之处,还请指正。 概述 在WPF中,一共有三种模板,分别如下:控件模板ControlTemplate,用来指定控件的呈现样式。 数据模板DataTemplate,用来指定子项数据的呈现样式。 子控件模板ItemPanelTempla

.net 温故知新【14】:Asp.Net Core WebAPI 缓存
2024/5/27 11:35:20

一、缓存 缓存指在中间层中存储数据的行为,该行为可使后续数据检索更快。 从概念上讲,缓存是一种性能优化策略和设计考虑因素。 缓存可以显著提高应用性能,方法是提高不常更改(或检索成本高)的数据的就绪性。 二、RFC9111 在最新的缓存控制规范文件RFC9111中,详细描述了浏览器缓存和服务器缓存控制的规范,其中有一个最重要的响应报文头CacheControl。 该报文头的设置会影响我们的缓存,包括浏览器端和服务端。 RFC911:https:www.rfcedit.grfcrfc9111#namecach

第五单元 泛型集合
2024/5/27 11:35:19

1. 为什么选择使用泛型集合 存在的问题ArrayList arrylist = new ArrayList() { 14 "hello" 29.7 true} arrylist.Add("wld") object ​ double dsum = 0 feach(var item in arrylist) {dsum += Convert.ToDouble(item) 出现异常 } 1、存取数据需要进行装箱拆箱 2、数据类型转换存在隐患 性能对比 非泛型集合性能[Test] public void

在Linux平台下使用.NET Core访问Access数据库读取mdb文件数据
2024/5/27 11:35:18

今天有群友在群里问 C# 能不能在 Linux 下访问 Access数据库? 我觉得这很有趣,因此研究折腾了一下,也因为很久没有写博文了,所以特意上来写博文分享经验。 运行环境操作系统:Ubuntu 22.04.3 LTS (Jammy) 开发工具:Visual Studio 2022 (17.8.0) 运行时版本:. Runtime 8.0 依赖库:unixodbc、mdbtools、odbcmdbtools依赖库安装 aptget update sudo aptget install unixodbc

[WPF]动手写一个简单的消息对话框
2024/5/27 11:35:18

消息对话框是UI界面中不可或缺的组成部分,用于给用户一些提示,警告或者询问的窗口。在WPF中,消息对话框是系统原生(user32.dll)的MessageBox,无法通过Style或者Template来修改消息对话框的外观。因此,当需要一个与应用程序主题风格一致的消息对话框时,只能自己动手造轮子了。 确定“轮子”的功能 消息对话框的核心功能是向用户显示信息,并在用户对消息进行处理前中断用户的操作。根据常见的应用场景,可以梳理出以下几点功能:支持的消息类型:提示信息、警告信息、错误信息、询问信息 支持的对话

WPF-dataGrid动态更新
2024/5/27 11:35:17

简介: 问题:在WPF中,使用了ObservableCollectionT作为dataGrid的数据源,发现更新数据的时候不会触发dataGrid的更新 By MaQaQ 20231122 分析: 1、ObservableCollection 会在集合的元素添加、移除或者清空时才触发更新通知,对集合中元素的属性更改是不会触发通知的。 2、如果想在更新数据时触发通知,可以将 T类实现 INotifyPropertyChanged 接口,这样当其属性发生更改时,会触发通知并更新 dataGrid。 实现如下:

【算法】状态之美,TCP/IP状态转换探索
2024/5/27 11:35:16

最近城市里甲流肆虐,口罩已经成为了出门必备的物品。小悦也不得不开始采取防护措施,上下班过程中,将口罩戴起来以保护自己不受病毒的侵害。 每天下班后,小悦总是喜欢投入到自己的兴趣爱好中,她热衷于翻阅与IT相关的资料,希望能够更深入地了解计算机科学。而她的大学同学小欣,则总是拿她开玩笑:“小悦啊,你是不是该考虑一下找男朋友?每天都在研究这些枯燥的算法,这可不像你啊。” 小悦总是笑笑不作回应,她对自己的研究充满热情,对男朋友的事情并不着急。 最近,小悦无意中看到了一篇关于TCPIP状态转换的介绍,这个算法细节并未

C#中的var究竟是强类型还是弱类型?
2024/5/27 11:35:16

前言 在C#中,var关键字是用来声明变量类型的,它是C# 3.0推出的新特征,它允许编译器根据初始化表达式推断变量类型,有点跟javript类似,而javript中的var是弱类型。它让C#变量声明更加简洁,但也导致了一些关于C#是强类型还是弱类型的争论。 解析 在传统意义上,强类型语言要求变量在声明时必须指定类型,而弱类型语言则允许变量没有指定类型。在C#中,var关键字可以用于声明没有指定类型的变量,看着C#仿佛是弱类型语言。 然而,C#其实是强类型语言,因为编译器会在编译期间对变量类型进行检查。如

WPF --- 如何以Binding方式隐藏DataGrid列
2024/5/27 11:35:09

引言 如题,如何以Binding的方式动态隐藏DataGrid列?预想方案 像这样: 先在ViewModel创建数据源 People 和控制列隐藏的 IsVisibility,这里直接以 MainWindow 为 DataContextpublic partial class MainWindow : Window INotifyPropertyChanged{public MainWindow(){InitializeComponent()Persons = new ObservableCollecti

.NET 主流 ORM 功能介绍 大全 最新
2024/5/27 11:35:06

​ .主流M 下面是3款. 使用最多的M,来自公众号投票结果 ,数据比较真实可靠,也可去搜索公众号继续投票 2023年11月投票结果测试项目发布时间微信公众号投票 (追逐时间光者)使用难度功能性能SqlSugar m 2014 26% 491票 适中 全 中高EFCe m 2016 36% 663票 较难 全 中高Dapper m 2013 23% 374票 简单 少 高其它总和 14% 一、SqlSugar M介绍 是一款 老牌 . 开源多库架构M框架(EF

Net 高级调试之十:轻量级代码生成的调试
2024/5/27 11:35:06

一、简介    今天是《 高级调试》的第十篇文章。说起来,高级调试,调试的内容还是挺多的,技巧也不少,但是,要想做一个合格的高级调试人员,还需要掌握如何调试动态生成的IL代码。今天要探讨的高级调试的技巧是如何调试通过 Emit 动态生成 IL 代码。可能有人会问,我们不是编写 C# 代码,或者是 VB. 代码吗?怎么还要动态生成 IL 代码,这些工作不是编译器做的吗?当然,一般情况是这样的,但是,当我们编写一些高性能的框架的时候,使用 IL 代码编写也是常事。既然也可以直接使用 IL 编写代码,那对它的调