.NET Core 跨平台
文章平均质量分 90
ChaITSimpleLove
云原生领域爱好者!
展开
-
快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
BaGet 是一个轻量级且高性能的 NuGet 服务器,支持多种存储后端和配置选项。通过简单的部署和配置,你可以轻松搭建自己的 NuGet 服务器。原创 2024-09-06 18:18:05 · 1337 阅读 · 1 评论 -
如何使用 ef core 的 code first(fluent api)模式实现自定义类型转换器?
文章介绍了如何在 EF Core 的 Code First 模式下使用自定义类型转换器实现 JsonDocument 和 DateTime 类型到 SQLite 数据库的正确映射。通过定义 ValueConverter,实现了数据类型的转换,并展示了完整的项目结构和代码实现,包括实体类定义、DbContext 配置及数据库迁移操作。原创 2024-09-04 17:58:04 · 1447 阅读 · 1 评论 -
如何使用 Containerfile/Dockerfile 构建 .net 镜像?
构建轻量级的 `.NET Core` 镜像通常涉及到几个关键步骤,主要是选择正确的基础镜像、使用多阶段构建、优化文件结构以及清理不必要的文件。原创 2024-07-14 12:38:04 · 1418 阅读 · 0 评论 -
.NET 体系概览图集 - 2024 最全总结
.NET Core是一个免费、跨平台、开源的开发平台,用于一站式构建不同类型的应用程序。.NET Core 是以 .NET Framework 为基础,但是经过重新设计、实现的的新一代框架,实现了原 .NET Framework 中的几乎所有功能,核心特点就是开源、跨平台。转载 2024-06-05 00:15:57 · 213 阅读 · 0 评论 -
震惊!!!.net 8 文件上传“源”来还可以这么玩!
dotnet 文件上传,“源/IFormFile” 来如此!原创 2024-05-16 16:18:36 · 838 阅读 · 0 评论 -
.net core 中构造函数注入 IHttpClientFactory 和 HttpClient 的区别,使用 HttpClient 注入有什么隐患,以及如何证明?
分享 .net core 中通过 IHttpClientFactory 工厂来使用 HttpClient 的最佳打开方式。原创 2024-04-15 17:37:51 · 1297 阅读 · 0 评论 -
openEuler 22.03 安装 .NET 8.0
openEuler 22.03 安装 .NET 8.0原创 2024-03-28 12:12:44 · 1268 阅读 · 0 评论 -
谈谈高并发系统的设计方法论
对应到我们研发的系统中,也就是说:我们所开发的系统,要在短时间能能支持大量访问请求的情况。这种情况比如:双十一或者 12306 的抢票、以及秒杀等活动。这要求我们的业务系统,在短时间内,尽可能多的接收来自客户端的请求,并做出准确的响应。需要注意的是,高并发系统的设计和实现远比上述几点要复杂得多。原创 2024-02-28 10:45:15 · 969 阅读 · 0 评论 -
如何使用 dotnet pack 打包 .NET 跨平台程序集?
使用 dotnet pack 命令构建跨平台 nuget 包文件。原创 2024-01-23 18:51:36 · 1483 阅读 · 3 评论 -
ETL.NET 助力海量数据轻松处理
.neter 人员大数据处理框架终于来了。ETL.NET 是一个完全用 .NET 编写的开源框架,可用于多平台使用,并可直接集成到任何 .NET 应用程序中。原创 2023-12-15 16:12:06 · 1276 阅读 · 0 评论 -
.NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(测试篇)
LTT 是一个使用 C# 开发的轻量级压测工具,基于 .NET6 版本, 和其他压测工具相比,安装和使用都非常简单。提供了一种可靠的方式来模拟高负载情况,来确定系统的瓶颈和性能极限,并且支持以图片输出压测结果。原创 2023-12-11 14:06:48 · 2321 阅读 · 1 评论 -
.NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
此处还是以默认的 WeatherForecast (天气预报) 的数据为例,分别对两种类型的数据库做相应的 crud 操作,并对比测试性能。这里我们使用的 .net8 版本, 创建 WebAppDbTest 项目。原创 2023-12-11 14:04:36 · 2170 阅读 · 1 评论 -
谈谈 .NET8 平台中对 LiteDB 的 CRUD 操作
LiteDB - 一个单数据文件 .NET NoSQL 文档存储。LiteDB 是一个小巧、轻量级、快速、简单易用的 NoSQL 嵌入式数据库,它支持文档存储和查询,具有高性能、可嵌入性、跨平台等特点。LiteDB 是一个 .NET 平台下的开源项目,它可以在等多个平台上运行。LiteDB 的 API 简单易用,支持 LINQ 查询,同时还提供了一个可视化的管理工具,方便用户进行数据库的管理和操作。原创 2023-12-04 17:25:20 · 1664 阅读 · 0 评论 -
使用 .NET Upgrade Assistant(升级助手)升级 .NET 老旧版本项目
只要努力,一切都没有那么难!As long as you work hard, everything is not that difficult!原创 2023-11-30 16:51:08 · 2108 阅读 · 3 评论 -
微软发布 .NET 云原生开发框架—— .NET Aspire
众所周知,微软于发布了 .NET 8 的正式版。伴随着这个重要 .NET 版本的发布,微软也发布了一个全新的 .NET 云原生开发框架 —— .NET Aspire.转载 2023-11-29 16:30:57 · 431 阅读 · 0 评论 -
.NET Conf 2023 大会 .NET 8 发布!
我们很高兴地宣布从今天()开始.NET 8正式发布,它是世界领先的开发平台之一的最新LTS版本。。在为期三天()的上,.NET 团队、我们的合作伙伴和.NET 社区将讨论.NET 8中的新增功能以及人们使用 .NET 构建的内容,以满足未来的需求。在这个版本中,.NET重塑了我们构建可按需扩展的智能、云原生应用程序和高流量服务的方式。无论您是部署到Linux还是Windows,使用容器还是您选择的云应用程序模型,.NET 8都可以让您更轻松地构建这些应用程序。转载 2023-11-29 11:36:07 · 260 阅读 · 0 评论 -
基于 .net/.net core 实现 9 款开源、免费、实用、美观的 Blazor UI 框架,有你的菜嘛
本文主要分享 `9` 款开源、免费、实用、美观的 `Blazor UI` 框架,提供给广大 `C#/.NET` 开发者们学习和使用(注意:排名不分先后,都是十分优秀的开源框架和项目💖)。这些框架都已收录到 `C#/.NET/.NET Core` 优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解 `C#、.NET` 和 `.NET Core` 领域的最新动态和最佳实践,提高开发效率和质量。转载 2023-10-17 17:16:11 · 3624 阅读 · 0 评论 -
基于 Alpine 环境构建 aspnetcore6-runtime 的 Docker 镜像
apline linux 环境,构建 asp.net core 应用程序的基础镜像。--- The glow of a firefly may be faint, but when it shines, it challenges the darkness.原创 2023-09-12 17:15:03 · 697 阅读 · 0 评论 -
如何使用 FreeSql 无缝接替 EF Core ?
在使用 `EF Core` 作为默认的 `ORM` 工具操作数据库时,项目中我们或许只能接触到 `DbContext` 对象,没法直接获取 `db` 数据库连接信息,假如有小伙伴想接入 `FreeSQL` 继续使用熟悉的模式,那该怎么办呢?此时我们可以这样操作,为了不影响原有项目结构的操作,又想接入 `FreeSQL` 的小伙伴们,通过上面的方式我们就可以使用 `FreeSQL` 无缝替换 `EF Core`。原创 2023-02-26 18:19:40 · 876 阅读 · 2 评论 -
使用 DataAnnotations(数据注解)实现模型的通用数据校验
在实际项目开发中,无论任何方式、任何规模的开发模式,项目中都离不开对接入数据模型参数的合法性校验,目前普片的开发模式基本是前后端分离,当用户在前端页面中输入一些表单数据时,点击提交按钮,触发请求目标服务器的一系列后续操作,在这中间的执行过程中(标准做法推荐)无论是前端代码部分,还是服务端代码部分都应该有针对用户输入数据的合法性校验,典型做法如下:原创 2022-12-26 06:15:00 · 1509 阅读 · 15 评论 -
快速理解 IdentityServer4 中的认证 & 授权
在实际的生产环境中,存在各种各样的应用程序相互访问,当用户访问 `app` 应用的时候,为了安全性考虑,通常都会要求搭配授权码或者安全令牌服务一并访问,这样可有效地对 `Server` 端的 `API` 资源起到一定程度的有效保护原创 2022-10-31 17:48:56 · 1196 阅读 · 0 评论 -
分布式事务知多少?
事务(Transaction)指的是一组操作,该操作具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),也就是常说的ACID 原则。原子性(Atomicity):事务只能全部发生或者全部不发生。一致性(Consistency):事务需要得到逻辑上正确的结果,这由 AID 保证。隔离性(Isolation):指多个事务并发执行的时候不会互相干扰,保证事务操作过程中不被干扰。即一个事务内部的数据对于其他事务来说是隔离的。原创 2022-10-14 19:01:21 · 728 阅读 · 0 评论 -
ABP vNext 缓存使用
缓存(cache),原始意义是指访问速度比一般 随机存取存储器(RAM) 快的一种 高速存储器,通常它不像系统主存那样使用 DRAM 技术,而使用昂贵但较快速的 SRAM 技术。缓存的设置是所有现代计算机系统发挥高性能的重要因素之一。原创 2022-10-09 12:09:33 · 1052 阅读 · 0 评论 -
.NET 6 之 ABP vNext 初体验
马上国庆了,dotNative 预祝大家假期愉快,Happy National Day!本文将介绍在 `.net6` 平台的 `asp.net core webapi` 框架中,如何使用 `abp vnext` 框架进行模块化开发,重在思想理解。原创 2022-09-29 15:09:36 · 1044 阅读 · 0 评论 -
.NET 发展历程
.NET 是开源,跨平台,社区活跃技术开发平台,中国信通院在 2022 | OSCAR 开源产业大会大会上发布的全球开源生态研究报告里首次提出开源社区成熟度度量模型,.NET 是法律合规表现出色,组件许可证兼容性较高,法律风险较小。其生态基于 MIT 和 Apache 2.0 协议基础上构建,对商业友好。原创 2022-09-24 22:03:21 · 1985 阅读 · 1 评论 -
重磅 | .NET开源社区正式支持LoongArch架构
近期,著名的.NET国际开源社区正式宣布支持,目前架构已出现在 .NET社区主干分支上。GitHub 地址:http://github.com/dotnet/runtime/tree/src/coreclr/vm,用于生成许多不同类型的应用。使用 .NET,可以使用多种语言、编辑器和库来构建Web、移动、桌面、游戏和 IoT。此次,意味着..................转载 2022-08-11 12:28:41 · 550 阅读 · 0 评论 -
基于.net core 开发的轻量级配置中心 - AgileConfig
AgileConfig 是一个基于 .net core 开发的轻量级配置中心,更多的是为了那些分布式、容器化部署的应用能够更加简单的读取、修改配置。秉承轻量化的,部署简单、配置简单、使用简单、学习简单,它只提取了必要的一些功能,并没有像 Apollo 那样复杂且庞大。但是它的功能也已经足够你替换 web.config,appsettings.json 这些文件了。转载 2022-05-12 16:40:30 · 1424 阅读 · 0 评论 -
IIS 部署网站对 OPTIONS 请求直接返回 40x 的处理
了解 OPTIONS 请求的基本功能、作用和大概拦截的原因,逐一排查,分别讲解在 asp.net (.net framework 时代)和 asp.net core (.net core/.net 时代) 的处理方式,OPTIONS 请求在不同的浏览器中默认请求行为表现不一致,通过设置 SetPreflightMaxAge (asp.net core 方式)的最大缓存时间,间接的优化 OPTIONS 请求,减少服务器环境的预检测次数,你是否也遇到类似的问题呢?原创 2022-03-01 14:44:00 · 1917 阅读 · 0 评论 -
在 asp.net core 中使用 worker services
ASP.Net Core 3.0 Preview 3 新增了一个 worker services,那什么是 worker services 呢?它如同 【windows服务】或者【Linux守护进程】一样的后台服务,在 Visual Studio 中提供了一个专门创建 worker services 的模板,如下图:值得注意的是要在 Visual Studio 中创建 worker services,你一定要装 ASP.Net Core 3.0 或者 .Net Core 3.0 版本。Program转载 2021-11-18 09:30:39 · 571 阅读 · 0 评论 -
.NET 6 之 YARP 初体验
YARP: 又一个反向代理欢迎来到 YARP 的文档!YARP 是一个库,用于帮助创建高性能、可生产且高度可定制的反向代理服务器。现在它仍然在预览中,但是请通过 GitHub 仓库 提供您的反馈。什么是 YARP ?我们发现微软的一些内部团队要么为他们的服务构建一个反向代理,要么为构建一个代理询问 api 和技术,所以我们决定让他们一起开发一个 共同的解决方案 ---- 这个项目。这些项目中的每一个都在做一些稍微偏离常规的事情,这意味着它们不能很好地得到现有代理的服务,而且这些代理的定制需要高昂的成本原创 2021-09-26 15:04:09 · 4000 阅读 · 1 评论 -
.NET Worker Service 部署到 Linux 作为 Systemd Service 运行
上一篇文章我们了解了如何将 .NET Worker Service 作为 Windows 服务运行,今天我接着介绍一下如何将 Worker Service 部署到 Linux 上,并作为 Systemd Service 运行。我在本文中要覆盖的内容包含:作为 Linux 控制台程序运行作为 Systemd Service 运行开机自动启动、查看日志信息创建项目并发布§ 下载 Worker Service 源码我将基于上一篇文章中的 Worker Service 源码来修改,如果您安装有转载 2021-07-20 14:20:38 · 1977 阅读 · 3 评论 -
.NET Worker Service 作为 Windows 服务运行及优雅退出改进
上一篇文章我们了解了如何为 Worker Service 添加 Serilog 日志记录,今天我接着介绍一下如何将 Worker Service 作为 Windows 服务运行。我曾经在前面一篇文章的总结中提到过可以使用 sc.exe 实用工具将 Worker Service 安装为 Windows 服务运行,本文中我就来具体阐述一下如何实现它。SC 是什么?【sc.exe】是包含于 Windows SDK 的,可用于控制服务的命令行实用程序,它的命令对应于服务控制管理器(SCM)[1] 提供的函数。转载 2021-07-09 13:46:55 · 1021 阅读 · 0 评论 -
.NET Worker Service 添加 Serilog 日志记录
前面我们了解了.NET Worker Service 的入门知识[1]和如何优雅退出 Worker Service[2],今天我们接着介绍一下如何为 Worker Service 添加 Serilog 日志记录。在实际的生产环境中,应用程序中记录日志是非常宝贵的。在许多情况下,开发人员无法直接访问生产环境来调试问题。高质量的日志记录为解决线上问题提供了线索和依据。日志记录是将应用程序操作和状态记录到辅助接口的过程。...转载 2021-06-04 00:14:54 · 707 阅读 · 0 评论 -
.NET Worker Service 如何优雅退出
上一篇文章中我们了解了.NET Worker Service 的入门知识[1],今天我们接着介绍一下如何优雅地关闭和退出 Worker Service。转载 2021-06-03 23:48:13 · 384 阅读 · 0 评论 -
.NET 中的 Worker Service 入门介绍
翻译自 Steve Gordon 2020年3月30日的文章《WHAT ARE .NET WORKER SERVICES?》[1]转载 2021-06-03 23:34:25 · 489 阅读 · 0 评论 -
IIS10 部署网站报【HTTP 错误 500.19 - Internal Server Error】的解决办法
原有的web发布文件是可以正常部署 IIS10 上面运行的,由于本地电脑环境迁移,重新换了一个宿主机部署IIS10,网站运行提示如下信息:HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效。详细错误信息:模块 IIS Web Core 通知 未知 处理程序 尚未确定 错误代码 0x8007000d 配置错误 配置文件 \\?...原创 2021-04-26 14:45:10 · 17365 阅读 · 10 评论 -
C# 实现分布式自增 ID 算法 Snowflake(雪花算法)
需求概述分布式系统中,有一些需要使用全局唯一 ID 的场景,这种时候为了防止ID冲突可以使用36位的通用唯一识别码/UUID(Universally Unique Identifier),但是 UUID 有一些缺点,首先他相对比较长,另外 UUID 一般是无序的。有些时候我们希望能使用一种简单一些的 ID,并且希望 ID 能够按照时间有序生成。Twitter-Snowflake 产生背景Twitter 早期用 MySQL 存储数据,随着用户的增长,单一的 MySQL 实例没法承受海量的数据.原创 2021-02-25 13:51:28 · 6417 阅读 · 1 评论 -
2020年 .NET ORM 完整比较、助力选择
1|0 .NET ORM 前言为什么要写这篇文章?希望针对 SEO 优化搜索引擎,让更多中国人知道并且使用。目前百度搜索 .NET ORM 全是 sqlsugar,我个人是无语的,每每一个人进群第一件事就是拿来比较,每天要重复回答、重复解答、说服他们。想说服标签是名气大、使用者多的同类型 .NET ORM 非常困难,最多只能让他们勉强接受。FreeSql 不愿做自己发光的金子,希望在 2020年 写下这篇完整一点的 .NET ORM 比较,为准备使用 FreeSql 的朋友解惑,能排上百度搜索...转载 2020-09-14 15:19:50 · 455 阅读 · 1 评论 -
asp.net core 3.1.x 中使用AutoMapper
AutoMapper作用AutoMapper的作用是把一个对象转化为另一个对象,避免每次都去转化; 使用DTO实现表现层与领域Model的解耦,用AutoMapper来实现DTO与领域Model的相互转换;基于访问性的控制或从模型本身上考虑。对外开放的原则是,尽量降低系统耦合度,否则内部一旦变更外部所有的接口都要跟随发生变更;另外,系统内部的一些数据或方法并不希望外部能看到或调用。类似的考虑很多,只是举个例子。系统设计的原则是高内聚低耦合,尽量依赖抽象而不依赖于具体。这里感觉automapper就原创 2020-08-15 13:03:02 · 858 阅读 · 0 评论 -
asp.net core 3.1学习笔记——作用域与对象的释放行为
一、原理和注意事项:作用域由IServiceScope对象承载,对于实现了IDisposable接口类型的对象,容器会去负责对其生命周期的管理,当使用完毕它会去释放对象;实现IDisposable接口类型对象的释放特点:DI 只负责释放由其创建的对象; DI在容器或子容器释放时,释放由其创建的对象实例;如果对象是由我们自己创建并放到容器里面,容器不负责释放该对象;容器的生命周期与...原创 2020-02-08 15:44:35 · 641 阅读 · 0 评论