consul ocelot net6 net

使用MediatR库简化.NET应用程序中的CQRS实现

本文介绍了如何使用MediatR库简化.NET应用程序中CQRS(命令查询职责分离)模式的实现。我们将通过一个具体的业务场景来演示如何使用MediatR库,以及它带来的好处。 引言 CQRS(命令查询职责分离)是一种架构模式,它将一个对象的命令操作(例如创建、更新和删除)与查询操作(如读取和搜索)分 ......
应用程序 MediatR 程序 CQRS NET

在 Net7.0 环境下使用 RestSharp 发送 Http(FromBody和FromForm)请求

一、简介 最近,在做一个数据传输的服务,我在一个Worker Service里面需要访问 WebAPI 接口,并传输数据,也可以提交数据。由于第一次使用 RestSharp 发送请求,也遇到了很多问题,不过最终把问题都解决了。什么东西都一样,第一次做都会才很多坑。 今天,我就两个小的知识点,就是通过 ......
RestSharp FromBody FromForm 环境 Net7

NET6/Framework 封装邮件发送纯文本/HTML/HTML+图片/附件

发送纯文本 { var bodyBuilder = new BodyBuilder(); bodyBuilder.TextBody = "这是一封纯文本邮件"; message.Body = bodyBuilder.ToMessageBody(); } { var textPart = new Te ......
HTML Framework 附件 文本 邮件

记一次 .NET 某餐饮小程序 内存暴涨分析

一:背景 1. 讲故事 前些天有位朋友找到我,说他的程序内存异常高,用 vs诊断工具 加载时间又太久,让我帮忙看一下到底咋回事,截图如下: 确实,如果dump文件超过 10G 之后,市面上那些可视化工具分析起来会让你崩溃的,除了时间久之外这些工具大多也不是用懒加载的方式,比如 dotmemory 会 ......
内存 餐饮 程序 NET

.Net 6搭建仓储模式框架学习(一)

仓储模式 .NET仓储模式是一种软件设计模式,用于将应用程序的数据访问逻辑与业务逻辑分离。它通过将数据访问操作封装在一个单独的仓储类中,使得业务逻辑层可以独立于具体的数据存储技术。 在.NET仓储模式中,仓储类负责处理与数据存储相关的操作,例如数据的增删改查、数据的持久化和查询等。它提供了一组公共的 ......
框架 模式 Net

Choosing Between .NET and .NET Framework for Docker Containers

There are two supported frameworks for building server-side containerized Docker applications with .NET: .NET Framework and .NET 7. They share many .N ......
Containers NET Framework Choosing Between

关于.Net 6.0 在Linux ,Docker容器中,不安装任何依赖就生成图形验证码!!!!!!!!!!!

在.Net Framework时代,我们生成验证码大多都是用System.Drawing。 在.Net 6中使用也是没有问题的。 但是,System.Drawing却依赖于Windows GDI+。 为了实现跨平台,我陷入了沉思!! 微软推荐使用SkiaSharp 进行替代,所以就开始了,踩坑之旅 ......
容器 图形 Docker Linux Net

IIS下部署asp.net core应用

问题描述: IIS下部署asp.net core应用,windows日志中经常发现如下重启信息: 改善办法: 每次某应用重启后,发现应用内的缓存都过期了,于是按照如下文章和以下截图将引用程序池做相应设置,该问题得到改善: 主要是将 启动模式改成:AlwaysRunning,将闲置时间改成0; 参考文 ......
core IIS asp net

.NET Core + K8S 玩转容器编排

原文:https://www.cnblogs.com/sheng-jie/p/10591794.html 1. 引言 由于最近在学习微服务,所以就基于之前docker的基础上把玩一下k8s(Kubernetes),以了解基本概念和核心功能。 2. What's k8s? k8s涉及到很多基本概念,可 ......
容器 Core NET K8S 8S

asp.net 跨域问题解决

前言: 近期在对接前后端分离的项目中遇到了跨域问题,查了一些资料都比较新,没有比较老的解决方式所以记录一下 背景如下: 后端最老的 aspx 前端 vue3 部署在iis上 1.跨域的处理 点击查看代码 <httpProtocol> <customHeaders> <add name="Access ......
问题 asp net

ChatGPT - Logging Preferences in .NET

了解 .NET 第三方日志包的更新进度、使用流量,以从 1-2 个备选中进行选择。目前认为最合适的是 Serilog 和 NLog,活跃,均支持集成扩展 Microsoft.Extensions.Logging、结构化日志(以便进行统计分析)。 ......
Preferences ChatGPT Logging NET in

.Net Core WebApi 模型验证无效时报400

webapi默认处理了模型验证,所以会返回自带的格式,若我们想返回自定义的格式,就需要关闭它 然后自行获取。 主要是下面标红这句: services.AddControllers() .ConfigureApiBehaviorOptions(options => { options.Suppress ......
时报 模型 WebApi Core Net

编译.NET 7.0 Runtime源代码

1. 从github拉取代码,路径: https://github.com/dotnet/runtime https://github.com/dotnet/runtime.git 2. 切换分支到 "release/7.0" release/7.0 3. 编译源代码需要另外安装:python、cm ......
源代码 Runtime NET 7.0

.net core创建数据库、seed数据、部分修改字段

#region 创建数据库//如果数据库有表,则 EnsureCreated 方法不执行任何操作。//如果没有数据库,或者没有任何表,则它将创建数据库和架构。//EnsureCreated 启用以下工作流来处理数据模型更改://删除数据库。更改数据模型。重新运行应用。//EnsureCreated ......
数据 字段 部分 数据库 core

关于.Net 6.0 在Linux ,Docker容器中,不安装任何依赖就生成图形验证码!!!!!!!!!!!

在.Net Framework时代,我们生成验证码大多都是用System.Drawing。 在.Net 6中使用也是没有问题的。 但是,System.Drawing却依赖于Windows GDI+。 为了实现跨平台,我陷入了沉思!! 微软推荐使用SkiaSharp 进行替代,所以就开始了,踩坑之旅 ......
容器 图形 Docker Linux Net

每个.NET开发都应掌握的C#异常处理知识点

上篇文章讲述了C#集合知识点,本文将介绍C#异常处理知识点。异常处理是.NET开发中至关重要的一部分,它允许开发者在程序出现错误或不正常情况时采取适当的措施,从而提高应用程序的稳定性和可靠性。本文将介绍C#异常处理知识点,异常的基本概念略过,请查看官网。 1、自定义异常 开发者可以创建自定义异常类, ......
知识点 知识 NET

20230919 .NET面经

SQL IQuerable 和 IEnumerable 的主要区别? https://stackoverflow.com/questions/252785/what-is-the-difference-between-iqueryablet-and-ienumerablet So the diffe ......
20230919 NET

在 Net7.0环境下通过反射创建泛型实例和调用泛型方法

一、介绍 最近没事干,就用闲暇时间写点东西,也记录一下温习历程。老人说的好,好记性,不如烂笔头。时间一长,当时记忆的再清楚,都会变得模糊,索性就写博客记录下来,如果下次需要,直接打开博客就找到了,不用去网上乱找了。 今天我要写一些有关反射和泛型的关系,泛型的类型的创建和泛型方法的调用是普通类型(非泛 ......
实例 环境 方法 Net7 Net

.NET 实现仓储Repository(AI)

来自你的消息: 请用 .net core 7 实现仓储模式 来自WeTab AI的消息: 非常抱歉,当前没有 .NET Core 7 的版本。最新的 .NET 版本是 .NET 6。在 .NET 6 中,您可以使用仓储模式来管理您的数据存储。 仓储模式是一种在应用程序中使用的设计模式,它将数据访问逻 ......
Repository NET AI

【.NET8】访问私有成员新姿势UnsafeAccessor(下)

前言 书接上回,我们讨论了在.NET8中新增的UnsafeAccessor,并且通过UnsafeAccessor访问了私有成员,这极大的方便了我们代码的编写,当然也聊到了它当前存在的一些局限性,那么它的性能到底如何?我们今天就来实际测试一下。 测试代码 话不多说,直接上代码,本次测试代码如下: us ......
UnsafeAccessor 姿势 成员 NET8 NET

[MDP.Net] 軟體分層(Layer)與程式專案(Project)

在.NET裡,軟體分層(Layer)與程式專案(Project),不一定是一對一,常常有一個Layer切割成好幾個Project的情景發生。MDP.Net是將DDD的每個Context,設計為Domain層的Project。在Project裡面會包含該Context相關的Entity、Reposit ......
程式 Project Layer MDP Net

App性能指标(安装、冷启动、卸载、平均内存/cpu/fps/net)测试记录

【需求背景】 需要针对产品以及竞品做出横向对比,输出对应的比对测试报告,供产研进行产品性能优化依据 【测试方案】 对于主流的厂商和系统版本进行多维度的横向对比 厂商:华为系、小米系、蓝绿系、三星系、苹果系、联想等 系统:android10-14,ios11-16,鸿蒙2-3 指标:安装时间、冷启动时 ......
内存 性能 指标 App cpu

全面解决.Net与Java互通时的RSA加解密问题,使用PEM格式的密钥文件

一、缘由 RSA是一种常用的非对称加密算法。所以有时需要在不用编程语言中分别使用RSA的加密、解密。例如用Java做后台服务端,用C#开发桌面的客户端软件时。由于 .Net、Java 的RSA类库存在很多细节区别,尤其是它们支持的密钥格式不同。导致容易出现“我加密的数据对方不能解密,对方加密的数据我 ......
密钥 格式 文件 问题 Java

ASP.NET Core 服务的生命周期

概念 Transient:每一次GetService都会创建一个新的实例 Scoped:在同一个Scope内只初始化一个实例 ,可以理解为 每一个request级别只创建一个实例,同一个http request会在一个 scope内 Singleton:整个应用程序生命周期内只创建一个实例 案例演示 ......
周期 生命 Core ASP NET

Linux 安装.Net 5 SDK

1.添加信任 运行如下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。 sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm ......
Linux Net SDK

.NET MVC,浏览器端访问图片链接直接下载而不是查看

去掉文件名即可 public ActionResult Image() { string filePath = "D:\\123.png"; //return File(CommonHelper.GetImage(filePath), "image/png","123.png");//这种写法是错误 ......
浏览器 链接 图片 NET MVC

在 Net7.0环境下测试了 Assembly.Load、Assmebly.LoadFile和Assembly.LoadFrom的区别

一、简介 很长时间没有关注一些C#技术细节了,主要在研究微服务、容器、云原生、编批等高大上的主题了,最近在写一些框架的时候,遇到了一些和在 Net Framework 框架下不一样的情况,当然了,我今天主要测试的是,在通过【添加项目引用】和【手动拷贝DLL】的情况下,这三个方法加载程序集:Assem ......
Assembly Assmebly LoadFile LoadFrom 环境

.NET MVC返回图片并通知浏览器进行缓存

public ActionResult Image() { string filePath = "D:\\123.png"; Response.Cache.SetExpires(DateTime.Now.AddDays(365)); // 缓存有效期为365天 Response.Cache.SetC ......
缓存 浏览器 图片 NET MVC

.NET 6.0 如何使用对象映射库AutoMapper

AutoMapper是一个非常流行的对象到对象映射(Object-to-Object Mapping)库,它可以帮助开发人员简化对象之间的转换工作。在软件开发中,我们经常需要将一个对象的属性值映射到另一个对象的属性上,而手动进行属性复制会显得冗长和重复。AutoMapper通过自动执行对象属性之间的 ......
AutoMapper 对象 NET 6.0

使用任务计划开机启动ASP.NET Core应用程序

ASP.NET Core应用程序现在是一个控制台应用程序,在Windows上直接双击启动,但如果想让开发完成的ASP.NET Core应用程序开机启动,可以将ASP.NET Core应用程序修改成Windows服务运行,但这需要额外添加代码,也可以使用IIS来托管ASP.NET Core应用程序,但 ......
应用程序 任务 程序 Core ASP