在软件开发中,应用程序的自动更新功能是一个重要的特性,它能让用户在不手动干预的情况下获取最新的软件版本。这不仅提高了用户体验,还有助于开发者及时修复潜在的问题、增加新功能,并确保软件的安全性和稳定性。 对于.NET开发者来说,实现自动更新功能并不总是那么简单。幸运的是,有一个名为AutoUpdate ...
随着现代软件对性能和响应速度的要求越来越高,异步编程已经成为许多开发者必须掌握的技能。C# 提供了多种实现异步编程的方式,每种方式都有其特定的适用场景和优缺点。本文将详细介绍 C# 中实现异步编程的常用方式,帮助读者更好地理解并选择合适的异步编程方法。 一、Task 和 Task C# 5.0 引入 ...
【Github源码】 《上一篇》 介绍了Xmtool工具库中的图像处理类库,今天我们继续为大家介绍其中的OSS文件上传类库。 将本地文件上传到服务器是软件系统经常会遇到的需求,例如:设置用户头像,上传Excel报表等等;涉及到网络访问性能、存储空间等因素的考虑,通常我们会选择使用第三方的对象存储服务 ...
目录: OpenID 与 OAuth2 基础知识 Blazor wasm Google 登录 Blazor wasm Gitee 码云登录 Blazor OIDC 单点登录授权实例1-建立和配置IDS身份验证服务 Blazor OIDC 单点登录授权实例2-登录信息组件wasm Blazor OID ...
总有以下的需求: 等待用户确认,就是有【确定】和【取消】按钮,有个标题和内容的弹框(比如:您确定要删除吗?) 就是告知一下,就是上面的【取消】按钮不显示(比如:保存成功!) 莫有按钮,几秒钟后自己消失,就是所谓的toast(比如:已完成) 莫有按钮,需要发送命令才能消息(比如:数据加载中) 一开始犯 ...
由于两个月的奋战,导致很久没更新了。就是上回老周说的那个产线和机械手搬货的项目,好不容易等到工厂放假了,我就偷偷乐了。当然也过年了,老周先给大伙伴们拜年了,P话不多讲,就祝大家身体健康、生活愉快。其实生活和健康是密不可分的,想活得好,就得健康。包括身体健康、思想健康、心理健康、精神健康。不能以为我无 ...
MiniExcel简介 简单、高效避免OOM的.NET处理Excel查、写、填充数据工具。 目前主流框架大多需要将数据全载入到内存方便操作,但这会导致内存消耗问题,MiniExcel 尝试以 Stream 角度写底层算法逻辑,能让原本1000多MB占用降低到几MB,避免内存不够情况。 特点: 低内存 ...
什么是值转换器 在WPF(Windows Presentation Foundation)中,值转换器(Value Converter)是一种机制,允许你在绑定时转换绑定源和绑定目标之间的值。值转换器实现了 IValueConverter 接口,该接口包含两个方法:Convert 和 Convert ...
最近在折腾微信相关的开发,包括公众号、企业微信内部应用、企业微信第三方开发。基于Razor方式写了: 企业微信内部应用的类库 企业微信第三方应用的类库 公众号的类库 一个统一管理公众号、企业微信内部应用和第三方应用有关授权、Token之类的应用。 然后准备写一个开源的简单的酒店管理系统,名字的想好了 ...
Hello 大家好,先祝福大家新年快乐。 AgileConfig 1.9.0 版本终于赶在农历年前发布了。 Mongodb 当前做为一款非常成熟的 Nosql 产品,已经有越来越多的产品或项目基于它来构建。在 AgileConfig 开源的这几年之间,陆陆续续收到不少同学问为啥不支持 M ...
引言: 在现代互联网应用程序的开发和部署中,选择一个可靠、高性能的Web服务器是至关重要的。Nginx是一个备受推崇的选择,它以其卓越的性能和可靠性在开发者社区中享有盛誉。本文将介绍Nginx的概念、优势,以及如何使用Nginx作为Web服务器和反向代理。 什么是Nginx? Nginx(发音为“e ...
折腾Docker 有几天了,整别的都没这个糟心。目前已经顺利部署运行起来了。顺便给大家分享下处理在Windows上使用.NET部署到Docker的相关问题解决方法。 1. Docker无法安装问题 (下图是网上找了个类似的安装失败截图,页面大致一样,就是提示内容是 Docker Desktop 只能 ...
YOLOv5 是革命性的 "单阶段"对象检测模型的第五次迭代,旨在实时提供高速、高精度的结果,是世界上最受欢迎的视觉人工智能模型,代表了Ultralytics对未来视觉人工智能方法的开源研究,融合了数千小时研发中积累的经验教训和最佳实践。同时官方发布的模型已经支持 OpenVINO™ 部署工具加速模... ...
C#获得项目最后编译时间 效果 具体格式可以自定义 核心代码 string GetCompileVersion() { string OriginVersion = "" + System.IO.File.GetLastWriteTime(this.GetType().Assembly.Locati ...
在Web开发的时候,编写css样式的时候通常是统一写在.css样式文件中。在WPF中也可以使用这样的思想。 样式引用: 1.新建一个项目用于统一存放样式WPF.UI 添加一个资源字典Button.xaml或者CheckBox.xaml等等.... <ResourceDictionary xmlns= ...
前言 说完了在 项目开发阶段 我的一些个人体会和经验总结,最后我们聊聊在 项目验收阶段 我们需要关注哪些方面的内容…… 项目验收阶段 系统开发告一段落后,就进入客户培训、系统验收阶段,这个阶段,我一般会注意以下几个问题: 1. 给客户做培训前,多注意一些表面功夫 大多数客户其实并不太关心功能内部是如 ...
Popup 是一个用于显示临时性内容的控件,它可以在应用程序的其他内容之上显示一个弹出窗口。它通常用于实现下拉菜单、工具提示、通知消息等功能。 主要属性为: Child:获取或设置 Popup控件的内容。IsOpen:获取或设置一个值,该值指示Popup 是否可见Placement:获取或设置 Po ...
ModuleAttribute(按需延迟加载) ModuleAttribute 是 Prism 框架中用于标识模块的属性。通过使用 ModuleAttribute,可以将模块与特定的模块目录进行关联,从而使 Prism 应用程序能够动态加载和初始化模块。 在使用 WPF ModuleAttribut ...
什么是Prism: 1.WPF Prism是一个用于构建模块化、可扩展和可重用的WPF应用程序的框架。它基于MVVM模式,提供了一种简单且灵活的方式来管理复杂的WPF应用程序。 2.Prism框架提供了一些核心概念,包括模块化开发、依赖注入、命令模式、导航和事件聚合等。它还提供了一些实用工具和类来简 ...
MVVM-命令模式的实现与应用 本文同时为b站WPF课程的笔记,相关示例代码 绑定 这个其实前面已经讲过一部分 使用{Binding}设置数据绑定,将控件的属性绑定到 ViewModel 的相应属性。 比如说需要注意,在xaml中绑定的不再是UserName和Password了,而是loginMod ...