导出Excel时,通过自定义Attribute设置表头
摘要:var shipmentColumnNames = new List<string>(); var shipmentColumnNames = new List<string>(); var shipmentPropNames = new List<string>();var props = typ
阅读全文
C#可空类型反射赋值
摘要:p.SetValue(result, p.PropertyType.Name.Contains("Nullable") ? Convert.ChangeType(cell.GetValue<object>(), Nullable.GetUnderlyingType(p.PropertyType))
阅读全文
C#如何以“引用”传递对象的属性
摘要:record Person { public int Age; public int Height { get; set; } } 一、声明一个Person类,它有一个字段Age和一个属性Height. 二、针对字段,我们可以通过ref传递引用 代码如下 static void ModifyValu
阅读全文
一对多,将某一个字段拼接返回
摘要:SqlServer: https://blog.51cto.com/u_16213429/7839860 mysql: https://blog.csdn.net/yuzheh521/article/details/128970674
阅读全文
.net 和.net framework相比的优势
摘要:.net是一个平台,不是一门语言。 .net包含.net framework 、.net core. 一、.net framework缺点 (1) 系统级别的安装(.net framework 版本、补丁),互相影响; (2) 无法独立部署 (3) Asp.net 和IIS深度耦合; (4) ASP
阅读全文
C#扩展方法
摘要:定义 扩展方法 - C# 编程指南 - C# | Microsoft Learn 扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法是一种静态方法,但可以像扩展类型上的实例方法一样进行调用。 对于用 C#、F# 和 Visual Basic
阅读全文
C#中var是强类型还是弱类型?
摘要:一、什么是弱类型? 变量可以被赋予(被重新赋予)任何类型的值。 如JavaScript中 let foo = 42; // foo 现在是一个数值 foo = "bar"; // foo 现在是一个字符串 foo = true; // foo 现在是一个布尔值 二、C#中的var可以被重新赋予任何类
阅读全文
显示类型转换和as的区别
摘要:一、显示类型转换: Dictionary<string,object> dict = new Dictionary<string,object>(); dict.Add("Id", "111"); dict.Add("Name", "NAMSDJFIDSJF"); dict.Add("Genger"
阅读全文
SignalR 分布式部署
摘要:分布式部署意味着有多台SignalR服务器,一台服务器有多个客户端连接。 SignalR 要求对于某一个特定连接的所有HTTP 请求都需要被一个相同服务进程处理,当SignalR 运行在一个服务场时(多个服务器),则必须使用“粘性会话”(服务器开启)或者”跳过协商“(用websocket) 问题:某
阅读全文
为什么要用JWT,JWT与Seeion区别
摘要:一、为什么使用JWT HTTP是无状态的,开发人员需要基于HTTP来模拟实现状态的保存。经典的实现用户登录的做法是用Session,用户登录验证成功后,服务端生成SessionId。服务端会将SessionId与登录的用户信息的对应关系保存在服务器内存中,同时将SessionId返回给浏览器端,se
阅读全文
HTTP和HTTPS区别
摘要:1、HTTP是明文传输,不安全。HTTPS是加密传输,更安全,有效防止数据被第三方篡改,但是双方加解密也带来了更多的资源消耗。 2、HTTP标准端口是80,HTTPS标准端口是443. 3、HTTP不用认证证书,HTTPS需要认证证书(要钱) 4、连接方式不同,HTTP三次握手,HTTPSLTS1.
阅读全文
Get和Post请求区别
摘要:1、Get从指定的资源请求数据,一般用于查询操作。Post向指定的资源提交要被处理的数据,用于将数据发送给服务器,一般用于修改和写入数据。 2、Post请求更安全,post请求不会作为url的一部分,请求参数放到body中,不会被缓存。Get请求则是将参数作为Query放到URL中作为一部分,同时G
阅读全文
数据库相关知识整理
摘要:关系代数 U 并集 Union 结构相同 取所有部分 n 交集 取相同部分 - 差集 减掉相同的部分 x 笛卡尔积 列:R列数+S列数;行:R行数*S行数 关系代数运算 投影 选择 连接 除 Sql语言 DDL Data Definition Language,即数据定义语言.数据定义语言是由SQL
阅读全文
sql 递归(应用场景:组织树)
摘要:with cte as ( select *, 0 as level from Organization where ParentID='' union all select d.*,level + 1 from cte c inner join Organization d on c.ID = d
阅读全文
MediatR基本使用
摘要:MediatR可以在进程内实现消息通信。 一、安装MediatR 程序包管理控制台执行以下代码: dotnet add package MediatR --version 12.1.1 二、注册MediatR服务 services.AddMediatR(cfg => { cfg.RegisterSe
阅读全文
RabbitMQ 在.net中基本使用
摘要:一、序言 在DDD领域驱动设计中,有领域事件和集成事件。领域事件是微服务(进程)内部的消息通信,我们可以选用MeditR进行消息通信。集成事件可以理解成是服务之间的消息通信,需要借助消息中间件进行信息交换,常见的消息中间件有Kafka、RabbitMQ、ActiveMQ等,这里主要记录RabbitM
阅读全文
EF Core 关系配置
摘要:一、一对多 public class Article { public long Id { get; set; }//主键 public string Title { get; set; }//标题 public string Content { get; set; }//内容 public Lis
阅读全文