自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dotnet研习社

深耕桌面开发和软件设计领域,始终相信美好的事情即将发生,关注【dotnet研习社】一起学习成长~

  • 博客(226)
  • 资源 (11)
  • 收藏
  • 关注

原创 在 .NET 中使用 Base64 时容易踩的坑总结

欢迎关注【dotnet研习社】,今天我们讨论的内容是“ .NET 中使用 Base64 ”。在日常的 .NET 开发中,Base64 编码/解码是一个非常常见的需求,比如文件上传、令牌处理(JWT)、数据加密传输等。但它看似简单,实则暗藏不少坑点,尤其在跨平台、跨语言通信时尤为突出。本文将从 .NET 中使用 Base64 编码的常见方式出发,深入分析几个容易踩坑的地方,并提供实用的解决方案。问题建议做法Base64 不安全于 URL使用 Base64Url字符串编码不一致。

2025-07-25 23:37:43 461

原创 速来领取:事件驱动架构(Event-Driven Architecture)资源大全

欢迎关注dotnet研习社,最近在查阅【事件驱动架构】相关的内容,找到了这样一个宝藏网站,可以全面的学习相关的内容,现在整理下分享给大家查阅。本文整理自网站的资源链接用户操作(点击按钮、提交表单)系统状态变化(订单创建、支付完成)外部系统通知(第三方服务回调)定时触发的操作(每日报表生成)

2025-07-23 07:00:00 1702

原创 桌面应用程序:高频率,高吞吐量网络数据传输架构设计实战开发

欢迎关注dotnet研习社,今天我们讨论的主题是“高频高吞吐量的数据传输架构设计问题”。在工业控制、金融交易、实时音视频传输等领域,对数据传输的低延迟和高吞吐量有着严苛的要求。UDP(User Datagram Protocol)因其无连接、开销小的特性,常被用于这些对实时性要求极高的场景。然而,UDP 数据报存在最大传输单元(MTU)限制,通常为 1500 字节左右。这意味着当需要传输大于 MTU 的数据时,必须进行 分包 处理。接收端则需要将这些分包 组装 成完整的原始数据帧。您是否遇到过类似问题。

2025-07-22 07:00:00 985

原创 后端开发、桌面开发、工业通信开发人员的必备技能:掌握大文件的二进制读写技术

欢迎关注dotnet研习社,今天我们讨论的主题是“大文件的二进制读写技术”。在软件开发中,处理大文件的二进制读写是一项被低估但极为重要的核心技能。无论是从事后端开发、桌面系统开发,还是专注于工业通信协议解析,掌握高效、安全的大文件处理技术将极大提升你的系统稳定性与数据处理能力。在 .NET 开发中,对于小文件,之类的方法足够应对,但当我们处理GB 级别甚至 TB 级别的二进制大文件时,就需要更高效、更节省内存的读写方案。常见的大文件类型为什么需要分块读写大文件?如何使用FileStream和。

2025-07-21 07:00:00 900

原创 探索 C# 中的 BufferedStream 与 MemoryStream:用法与实战场景详解

欢迎关注dotnet研习社,今天我们讨论“Stream 流处理”。在日常的后端开发、桌面应用甚至工业通信编程中,流(Stream)是处理输入输出(I/O)的核心机制。尤其在处理大量数据或者频繁读写时,如何优化读写性能、减少资源浪费,显得尤为关键。和,结合实战场景,帮助我们写出更高效、更健壮的代码。需要对数据进行中间缓冲处理临时构造文件、图片、序列化数据数据压缩/加密过程中的中间流是对其他流的“缓冲包装器”,为读写操作增加缓冲区,从而减少对底层设备(如硬盘)的访问次数。

2025-07-20 12:36:33 617

原创 了解.NET Core状态管理:优化技巧与常见问题解决方案

欢迎关注dotnet研习社,今天我们聊聊“ .NET Core 中的状态管理”。在Web应用程序中,管理和维持状态是一个非常重要的主题,尤其是在无状态的环境中,如 HTTP 协议和 RESTful API。对于基于 .NET Core 构建的应用程序,理解如何管理应用程序的状态对于提高应用的性能和用户体验至关重要。本文将介绍 .NET Core 中的状态管理以及如何使用它来构建更高效和可扩展的应用程序。状态管理是指在应用程序中跟踪和维护状态数据的过程。客户端状态。

2025-07-19 22:09:28 1213

原创 使用 C# 实现移动加权平均(Weighted Moving Average)算法

欢迎关注dotnet研习社,前面我们讨论过"C#实现加权平均法",今天我们继续研究另外一种【移动加权平均法】。在时间序列分析、股票数据处理、工业信号平滑等场景中,移动平均(Moving Average)是最常见的平滑技术之一。相比简单移动平均(SMA),移动加权平均(WMA)会给更靠近当前时刻的数据分配更高的权重,能更敏锐地反映趋势变化。快速理解 WMA 的原理使用 C# 编写一个通用的 WMA 实现提供完整示例和代码解析SMA 是把窗口内的值等权重平均;

2025-07-18 23:17:45 774

原创 使用 C# 实现加权平均算法(含完整代码与实现解析)

欢迎关注dotnet研习社,今天我们讨论一个数学问题“加权平均算法”。在数据分析、考试成绩计算、统计学和金融等场景中,经常会用到加权平均(Weighted Average)算法。相比简单平均数,加权平均数能根据不同数据的重要程度(权重)计算更准确的结果。本文将一步步实现一个通用的 C# 加权平均数计算方法,附带完整示例代码,并解析每一处实现细节,帮助我们举一反三,灵活运用在实际项目中。

2025-07-16 15:40:06 1015

原创 超简洁的「C# + ONNX Runtime」最小示例项目

欢迎关注dotnet研习社,前面,我们介绍了ONNX Runtime 是什么,今天我们通过一个示例程序来学习,如何进行开发。✔ONNX Runtime 是核心库✔输入用 DenseTensor:注意 shape 要和训练时一致✔输入名字对得上:要跟 Python 导出的一致✔跨平台可用:Windows、Linux、ARM 都能跑。

2025-07-15 15:48:18 592 4

原创 ONNX 是什么

ONNX Runtime = 一个跨平台、跨框架、跨语言的 AI 模型执行器。训练交给 PyTorch,运行交给 ONNX Runtime!

2025-07-15 15:47:44 282

原创 RSA 明明是非对称加密,为什么只能加密 245 字节?

欢迎关注dotnet研习社,今天我们讨论的主题是“非对称加密(RSA)的一个245异常解决方案”。很多刚接触非对称加密(RSA)的同学,都踩过一个坑:RSA 是非对称加密,号称安全性高,那为什么不能随便加密大数据?245 这个数字又是怎么来的?想要加密大文件或长文本怎么办?别急,这篇文章一次性帮你彻底解惑。✅RSA 是用来加密小块数据的(比如对称密钥、签名、哈希)✅大文件要用对称加密(AES、DES)✅正确做法是混合加密关于RSA算法,有一句快速记忆的口诀:✅加密用公钥,解密用私钥✅。

2025-07-08 07:00:00 721

原创 探索 .NET 桌面开发:WinForms、WPF、.NET MAUI 和 Avalonia 的全面对比(截至2025年7月)

欢迎关注dotnet研习社,今天我们讨论下:”.NET桌面开发的选择“。作为一名刚踏入 .NET 桌面开发的开发者,你可能会对可用的技术栈感到眼花缭乱。Windows Forms(WinForms)、Windows Presentation Foundation(WPF)、.NET MAUI 和 Avalonia 是当前 .NET 生态中最主流的桌面开发框架。它们各有特点,适合不同的开发场景。本文将为初学者详细介绍这些技术栈的核心特性、区别,以及它们的社区活跃度和维护现状,帮助你选择适合自己项目的工具。

2025-07-05 23:10:18 936

原创 C++开发基础之使用异步的方法全解析:从std::thread到线程池

异步编程(Asynchronous Programming) 是提升应用响应性和系统吞吐能力的关键技术之一。本文将全面梳理 C++ 中实现异步执行的主流方式,涵盖从标准库到自定义线程池的多个方案,帮助我们根据业务场景选择最合适的技术。

2025-06-26 15:14:51 930

原创 使用SkiaSharp打造专业级12导联心电图查看器:性能与美观兼具的可视化实践

本文介绍了使用SkiaSharp在.NET平台上构建12导联心电图查看器的过程。项目采用.NET 8.0和Windows Forms框架,通过SkiaSharp实现高性能医学数据可视化。文章详细讲解了技术架构设计(包括数据模型层、渲染引擎层等)、核心代码实现(数据模型设计与模拟数据生成),展示了如何利用SkiaSharp绘制专业的心电图波形。该项目为医疗软件开发提供了灵活高效的图形解决方案,兼具专业性和可定制性。

2025-05-30 14:08:07 950 1

原创 WinForms 应用中集成 OpenCvSharp 实现基础图像处理

本教程介绍了如何在 WinForms 应用中集成 OpenCvSharp 实现基础图像处理功能。首先,文章概述了 OpenCvSharp 的特点及其在 .NET 开发中的优势,随后详细讲解了环境准备、项目创建、界面设计以及核心功能的实现步骤。教程内容包括 OpenCvSharp 的安装配置、WinForms 项目的创建、图像加载与显示、基础图像处理算法(如灰度转换、高斯模糊、边缘检测、二值化)的应用,以及图像保存与资源管理。通过本教程,开发者可以掌握在 WinForms 应用中集成 OpenCvSharp

2025-05-21 23:46:04 1223

原创 使用泛型服务基类简化Entity Framework对数据库访问逻辑

本文介绍了如何使用泛型服务基类 BaseService<C, T> 来简化 Entity Framework 对数据库的访问逻辑。该基类旨在封装常见的增删改查(CRUD)操作,支持泛型实体类型和数据上下文类型,并提供原生 SQL 语句、存储过程执行、DataTable 转换等辅助功能。通过统一的接口定义和泛型约束,BaseService<C, T> 能够有效提升开发效率,减少重复代码,并确保资源释放的规范性。文章详细展示了该基类的接口定义、类结构及其核心功能实现,为开发者提供了一个高

2025-05-21 18:46:59 975

原创 AI大模型应对挑战,使用winform实现小球在旋转五边形内的舞蹈

本文介绍了如何使用C#和WinForm开发一个物理模拟程序,模拟一个红色小球在旋转五边形内遵循重力规律运动的效果。项目需求包括创建旋转五边形、添加小球、实现重力模拟和碰撞检测,确保动画流畅。

2025-05-20 17:30:34 979

原创 C++开发基础之理解std::condition_variable中的wait与wait_for的区别与使用场景

在多线程编程中,std::condition_variable 提供了线程同步的机制,常用的函数包括 wait 和 wait_for。wait 使线程无限等待,直到条件变量被通知或条件满足,适用于需要持续等待的场景,如生产者-消费者模型。而 wait_for 允许设置超时时间,线程在超时后自动返回,适用于需要控制等待时间、避免死锁的场景。两者的主要区别在于超时控制和返回值:wait 无限阻塞,无返回值;wait_for 在超时后返回 false,否则返回 true。选择使用 wait 还是 wait_for

2025-05-20 14:04:21 1118

原创 dotnet开发基础之获取程序路径的方法

本文详细介绍了在 .NET 开发中获取程序路径的多种方法及其适用场景。常见的路径需求包括程序运行目录、当前工作目录、当前执行程序集路径、主进程路径等。文章通过对比表展示了不同方法的返回路径、适用场景及推荐程度,并提供了代码示例和详细说明。推荐使用 AppDomain.CurrentDomain.BaseDirectory 和 AppContext.BaseDirectory 作为默认方式,尤其适用于跨平台开发。此外,文章还提醒了在使用这些方法时需要注意的特别事项,并提供了一个实用工具类的封装示例,帮助开发者

2025-05-19 13:49:08 1060

原创 使用 OpenSSL 构建自签名证书步骤详解

本文详细介绍了如何使用 OpenSSL 生成自签名证书,适用于本地测试、内部服务通信等场景。文章从环境准备开始,逐步讲解了如何生成私钥、创建证书签名请求(CSR)、生成自签名证书,并提供了包含扩展信息(如 SAN)的证书生成方法。此外,还介绍了如何验证证书信息,并通过 Node.js 示例展示了如何在本地 HTTPS 服务中使用自签名证书。最后,文章总结了自签名证书的用途和局限性,并鼓励读者通过实践掌握 OpenSSL

2025-05-19 13:45:36 2109

原创 在 .NET 8 开发的WinForms 程序中展示程序版本号的几种方式

本文介绍了在 WinForms 应用程序中显示程序版本号的几种常见方法,适用于不同场景和需求。首先,确保项目为 SDK 风格,并在 .csproj 文件中配置版本号信息。接着,提供了四种示例:1)在窗体标题栏显示版本号,使用 Application.ProductVersion;2)在 Label 中显示程序集版本号,使用 AssemblyVersion;3)在状态栏中显示文件版本号,使用 FileVersionInfo;4)在 AboutBox 中显示版本号,使用 Application.ProductV

2025-05-12 22:42:00 1404

原创 如何重新启动我的WinForm应用程序?

本文探讨了在WinForm应用程序中实现自我重启的几种常见方法。首先介绍了使用Application.Restart()的简单方式,虽然易用但缺乏灵活性。接着讨论了通过Process.Start()手动启动新进程并退出当前进程的方法,提供了更大的控制力,如传递参数。最后,介绍了重启时传递参数的高级应用,允许在重启后保留状态信息。文章还总结了各种方法的优缺点,并提供了应用场景的建议。总体而言,Application.Restart()是最推荐的方式,但在需要更多控制时,手动重启和传参方式更为合适。

2025-05-12 07:00:00 793

原创 如何优雅地处理ThreadPool.QueueUserWorkItem 中第三方代码的异常

在开发中,使用第三方库时,若库内部通过 ThreadPool.QueueUserWorkItem 启动后台线程且未提供异常处理机制,调用处的 try-catch 无法捕获线程中的异常。这是因为 .NET 的线程间异常隔离设计。本文探讨了该问题的成因,并提供了几种解决方案:1)理想情况下,第三方库应提供异常回调机制;2)局部订阅 AppDomain.CurrentDomain.UnhandledException 事件,局部处理异常;3)通过状态检测间接判断任务是否失败;4)使用外部监控工具捕获所有线程异常。

2025-05-10 00:04:20 531

原创 C#项目调用Sqlserver的存储过程,为什么不被认为是一个好的方式?

欢迎关注dotnet研习社,今天我们要讨论的内容是,曾经风靡一时的存储过程用法。到如今在C#项目调用Sqlserver的存储过程,为什么不被认为是一个好的方式?那些老的项目该怎么办?检索到的存储过程相关内容,都是禁止使用,不建议使用的标题。那么我们还能再用存储过程吗?在许多企业级系统或传统应用开发中,调用 SQL Server 存储过程(Stored Procedure, SP)是一个非常常见的做法。尤其在以数据库为中心的系统架构中,开发者习惯将大量逻辑写在数据库中,用 C# 去调用它们完成各种业务功能。

2025-05-08 00:04:18 1054

原创 C++开发基础之调试宏的理解和应用

欢迎关注dotnet研习社,今天我们讨论的话题是:调试宏的理解和应用。在 C++ 开发中,调试是不可避免的工作。无论是开发新功能、修复 bug,还是优化代码,良好的调试信息都能够帮助开发者迅速定位问题。在这方面,编译器提供了一些强大的预定义宏,如__FILE____LINE____DATE____TIME__,它们可以帮助我们记录程序执行的文件、行号、函数名,甚至编译时间等信息,为调试提供了很多便利。在 C++ 编程中,调试信息的清晰和详尽能够大大提高开发效率。通过使用__FILE____LINE__

2025-04-23 17:25:05 933

原创 WinForms开发基础:实现带X按钮的ClearableTextBox控件

我们经常看到这样的带X按钮的输入框如果使用WinForms开发中,该如何进行设计,普通的TextBox控件如何进行改造?为了提升用户体验,在TextBox文本框内添加一个“x”按钮,方便用户一键清除内容。本文将介绍如何通过继承TextBox控件实现自定义的。通过继承TextBox并添加Button控件,我们实现了一个带“x”按钮的文本框,提升了用户操作的便捷性。此方法不仅简化了UI逻辑,还易于在项目中复用。

2025-04-19 21:03:24 349

原创 详解多线程高并发IOCP开发模式(含示例说明)

IOCP(I/O Completion Port,输入/输出完成端口)是Windows操作系统中用于高效处理异步I/O操作的一种编程模型,特别适用于处理大量并发I/O操作的场景,如网络通信和文件I/O等。IOCP是一个强大的工具,能够让程序在需要处理大量并发I/O操作时,保持高效、稳定的性能。

2025-04-19 21:02:34 1150

原创 C#与C++交互开发系列(二十三):跨进程通信之使用 Redis 实现共享数据访问

通过 Redis,我们可以非常高效地实现 C# 和 C++ 之间的跨进程通信和数据共享。尽管 Redis 并不是真正的共享内存技术,但它的高性能、易用性和跨平台支持使其成为实现跨进程、跨语言通信的理想选择。通过本文的介绍,希望你能够掌握如何在 C# 与 C++ 项目中集成 Redis,实现数据共享与通信。欢迎加入微信群聊沟通。7天内有效~

2025-04-16 22:48:59 879

原创 C++开发基础之unsigned __int64和unsigned long的区别

在 C 和 C++ 编程中,和都是无符号整数类型,广泛应用于需要存储正整数的场景。然而,这两者在一些细节上有着显著的差异,主要体现在它们的大小、平台依赖性以及使用场景等方面。本文将深入探讨这两种类型的区别,以帮助我们在选择合适的类型时做出明智的决定。在 Windows 编程和一些特定库中,常见的无符号整数类型(如DWORDULONGLONGUINT等)为开发者提供了便捷的、与平台相关的整数类型。这些类型有时会与标准的 C/C++ 类型相似,但它们通常在特定平台下有特定的大小和用途。

2025-04-14 09:51:25 1292

原创 在ASP.NET Core 中实现幂等API和WinForms客户端防重提交实践

大家好,欢迎关注dotnet研习社。今天,我想和大家聊聊在ASP.NET Core 中如何实现幂等 API,这是我们在实际项目开发中非常重要、但又常常被忽略的一个话题。一次请求与多次请求对资源产生的影响是相同的。换句话说,无论客户端发送一次请求还是多次相同的请求,服务端的状态都不会发生改变。在 HTTP 协议中,像GETHEADPUT和DELETE方法天生是幂等的,而POST方法默认并不具备幂等性。但在实际业务中,我们常常需要让某些POST。

2025-04-11 15:21:02 1016

原创 使用WinForm结合Markdig库竟能轻松开发出Markdown 编辑器

在当今数字化的时代,Markdown 已经成为了撰写文档、博客文章、技术笔记等的热门选择,因其简洁的语法和强大的表现力备受青睐。今天,我将为大家分享一个基于 WinForm 和 .NET 开发的 Markdown 编辑器,它使用了 Markdig 库,具备实时预览、文件操作以及导出功能,并且采用简洁的分栏设计,让用户可以即时查看 Markdown 渲染效果。本项目旨在开发一个简单易用的 Markdown 编辑器,通过 WinForm 界面提供直观的操作体验。

2025-03-21 17:03:34 1294

原创 C#基础之回调机制详解,让代码动起来的关键技巧

大家好,欢迎关注dotnet研习社,今天我们聊聊 C# 中一个很基础但又非常实用的概念 ——回调机制。相信很多小伙伴刚入门编程的时候,听到“回调”这个词会感觉有点抽象,好像是个挺高级的玩意儿。其实,回调的本质非常简单,它就是把一个方法当作参数传给另一个方法,并在合适的时机调用它。直白地说,回调就是“反过来调用”。通常我们写方法时,都是主动去调用别人写的方法。而回调则是,我们把自己的一段方法交给别人,等到适当的时候,对方再“反过来”调用我们的方法。这个机制在异步编程事件驱动模块解耦等场景中极其有用。

2025-03-21 17:02:14 543

原创 探索.NET 10 的新特性,开发效率再升级!

最近,.NET 10 发布啦,作为长期支持(LTS)版本,接下来的 3 年里它会给开发者们稳稳的幸福。今天咱就来唠唠它都带来了哪些超实用的新特性。可在指定链接下载。

2025-03-06 23:33:56 1400

原创 验证测试 .NET 10 预览版的 Windows 窗体中的剪贴板新增功能

在 .NET 10 中,Windows Forms 对剪贴板功能进行了更新,引入了新的 API 以提高类型安全性和避免使用带来的安全风险。上述简单的测试了下剪切板的功能,后面我们在尝试其他的内容,敬请期待~欢迎进群交流学习~

2025-03-06 23:33:19 1065

原创 让架构为业务发声:深度解读尖叫架构实践之道

​你是否曾遭遇过这般情形:打开新项目的代码仓库,迎面而来的是controllers、services、repositories等标准目录,在层层框架封装下,你不得不像考古学家般挖掘代码,才能勉强拼凑出系统的业务全貌。这种技术细节喧宾夺主的现象,正是Robert C. Martin所批判的"低声细语的架构"(Whispering Architecture)。

2025-02-24 23:48:40 1149

原创 初学者也能快速掌握的方式,.net core项目集成DeepSeek

想要在自己的API项目中集成DeepSeek大语言模型,我们该如何操作?直接使用HttpClient调用 DeepSeek API:通过手动构建 HTTP 请求,直接与 DeepSeek 的 RESTful API 进行交互。使用第三方 SDK(如:利用社区提供的 SDK,简化与 DeepSeek API 的交互过程。以下将详细介绍这两种方式的实现步骤,并提供完整的示例代码。以上两种方式各有优劣。直接使用HttpClient可以完全掌控 HTTP 请求的细节,适合需要高度自定义的场景;而使用。

2025-02-24 07:00:00 2053

原创 WinForm开发核心基础之事件驱动设计

传统过程式程序:按顺序执行代码逻辑,通过函数调用控制流程。事件驱动程序:由用户操作(如点击、输入)或系统消息(如定时器、网络响应)触发事件,程序被动响应这些事件。// 1. 定义委托和事件// 2. 触发事件的方法// 3. 模拟温度变化// 自定义事件参数类eConsole . WriteLine($"当前温度: {掌握事件驱动设计是成为优秀WinForm开发者的必经之路。通过合理利用内置事件和自定义事件机制,可以构建出高度灵活、响应迅速且易于维护的应用程序。

2025-02-21 04:00:00 790

原创 事件聚合器(Event Aggregator)管理跨组件通信

事件聚合器作为一种重要的设计模式,在复杂场景下的跨组件通信中发挥了巨大的作用。它不仅使得各个组件之间的交互更加灵活和松耦合,还提高了应用的可扩展性和可维护性。然而,在实际应用中,如何有效管理事件流、处理性能和调试问题依然是我们需要深入思考的方向。通过对事件聚合器的合理使用,可以使得复杂的事件驱动架构更加简洁、高效,进而实现高质量的软件系统。

2025-02-21 04:00:00 938

原创 异步事件驱动设计:提升并发和响应性

异步事件驱动设计是一种有效的架构模式,尤其适用于高并发、响应性要求高的系统。在复杂的分布式应用中,结合异步编程和事件驱动架构,可以显著提高系统的性能和扩展性。尽管如此,实施异步事件驱动设计时也需要关注状态管理、错误处理和资源优化等问题。通过合理的设计和调度,异步事件驱动架构将成为现代应用程序中不可或缺的一部分。

2025-02-21 04:00:00 736

原创 使用OllamaSharp库,你的桌面程序也能对接DeepSeek大模型

随着人工智能技术的飞速发展,大语言模型(LLM)在自然语言处理领域展现出了强大的能力。为了方便.NET开发者使用,OllamaSharp应运而生,它是一个与Ollama API交互的C#库,能够轻松将AI模型集成到.NET应用程序中。OllamaSharp作为一款与Ollama API交互的C#库,为.NET开发者提供了便捷的AI模型集成方案。通过OllamaSharp,开发者可以轻松实现聊天、嵌入、管理模型等功能,将Ollama的强大能力融入到自己的应用程序中,为用户带来更加智能化的体验。

2025-02-14 10:05:20 1106 1

在ASP.NET Core WebAPI 中使用轻量级的方式实现一个支持持久化的缓存组件

在 WebAPI 开发中,缓存是一种常用的优化手段。Redis 是广泛使用的缓存解决方案,但在某些场景下,我们可能不希望引入第三方依赖,而是希望使用轻量级的方式实现一个支持持久化的缓存组件,满足以下需求: 缓存持久化:重启后缓存可以恢复。 过期删除:支持设置缓存过期时间。 基本操作:支持常见的增、删、查操作。 原文链接:https://blog.csdn.net/houbincarson/article/details/144021575

2024-11-26

WinForms 中使用 MVVM 模式构建应用:实现登录页面、页面导航及 SQLite 数据库连接完整框架搭建过程

项目结构:按模块创建以下文件夹: Models:存放数据实体类。 ViewModels:包含视图模型,负责处理业务逻辑和数据绑定。 Views:放置WinForms窗体,充当UI界面。 Services:用于数据库服务操作。 IoC:配置依赖注入容器。 Commands:配置执行命令。

2024-11-02

EFCore面试指南,助你从初级到高级,轻松晋级

这份指南为提供了关于 EF Core 的全面考核工具,覆盖了基础、中级和高级三个层次的高频面试问题。每个问题都详细介绍了解题思路和解决方案 基础部分: 重点在于 EF Core 的基本概念和使用,如 DbContext 的基本配置、简单的查询和插入操作、关系映射以及基本的迁移和模型验证。 面试题目旨在评估对 EF Core 基本功能的理解,以及如何在简单的应用场景中使用这些功能。 中级部分: 主要考察对更复杂的操作和高级特性的掌握,如复杂关系映射、事务管理、数据迁移的高级应用以及查询优化。 如何在中等复杂度的场景中有效利用 EF Core 的功能,同时考量他们对性能优化和数据一致性的关注。 高级部分: 高级问题聚焦于复杂和实际应用场景中的 EF Core 使用,包括并发控制、复杂查询优化、多租户架构、跨数据库操作等。 对 EF Core 深入细节的理解,还评估他们在高并发、高数据量、多租户等复杂应用场景中的实践经验。

2024-08-31

c++语言程序设计讲稿,第四版

c++语言程序设计讲稿,第四版,清华大学出版设出版 郑莉 董渊 何江舟 ppt

2011-04-09

常用计算机英语词汇-1695词

常用计算机英语词汇-1695词;

2014-01-08

SQLReportbuilder2.0完美指导教学

SQLReportbuilder2.0完美指导教学 自己讲doc格式去掉

2012-12-22

求x的n次方 用函数方法,while语句的用法

定义一个函数,求x的n次方。while语句的用法要注意。

2011-04-05

顺序表、栈、队列C语言代码

顺序表,栈,队列C语言代码,基本的初始化,插入,删除

2014-01-15

学生管理系统

学生管理系统 纯c代码 结构清晰 易懂 欢迎 下载

2012-08-29

用共有继承的方法求一类图型的面积

用共有继承的方法求一类图型的面积 共有继承 类 没有c++程序的可以单击右键选择打开方式用txt打开可看见源代码。

2011-04-05

TabFragmentDemo

TabHost,TabContentFactory,IOnTabChangeListener,FragmentActivity,FragmentManager,SupportFragmentManager,FragmentTransaction

2014-06-16

c++ 源程序 九九乘法表

九九乘法表,关键在于输出的表达式! 九九乘法表,源代码。欢迎下载!

2010-10-18

五子棋源代码

五子棋源代码 纯手工写成 ,标示清晰 欢迎下载

2012-08-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除