摘要:
构造函数,是在初始化对象时,把数据传给对象。那Deconstruct正好相反,是从对象中把想要的数据返回。 下面看一个使用场景,下面是定义一个record的Order,我们可以用元数据的方式,从Order对象中把no,orderTime取出来,这是怎么做到的呢? //Order定义成record r 阅读全文
posted @ 2025-02-22 21:02
刘靖凯
阅读(31)
评论(0)
推荐(0)
摘要:
记得之前在做医保接口时,经常要调一些C++或delphi写的本地dll(这些dll通常是用来读医保卡之类),这里简单介绍一下用C#生成本地可以直接调用dll,具体做法是通过UnmanagedCallersOnlyAttribute来完成。 dll项目文件如下 <Project Sdk="Micros 阅读全文
posted @ 2025-02-21 20:45
刘靖凯
阅读(48)
评论(0)
推荐(0)
摘要:
在AOT项目中,使用反射有一些问题,本程序包利用源生成器,按不同的维度,提前获取对应类型的元数据,从而达到平滑使用Reflection部分功能。 项目: https://github.com/axzxs2001/AOTReflection nuget: https://www.nuget.org/p 阅读全文
posted @ 2025-02-21 20:41
刘靖凯
阅读(57)
评论(0)
推荐(0)
摘要:
Dapper.AOT可以是第一时间响应.NET发布AOT项目的ORM,虽然不像Dapper功能完善,但也基本能满足使用。 还记得我在拦截器Interceptors中最后的提示吗?当源生成器遇上拦截器后,就迸射出爱的火花,Dapper.AOT就是它们爱的结晶。 拦截器 桂素伟,公众号:桂迹.net8: 阅读全文
posted @ 2025-02-21 20:38
刘靖凯
阅读(62)
评论(0)
推荐(0)
摘要:
反射是.NET开发的利器,但对于AOT来说,因为Native编译,所以反射的功能基本在AOT编译的项目中失效。办法总比困难多,这么好的东西不能扔掉,下面是“尽量”可以使用反射的例子,为什么“尽量”,看完下面的案例我们再做说明。 在AOT项目中使用反射基本原理:利用源生成器,在build项目时,提前调 阅读全文
posted @ 2025-02-21 20:34
刘靖凯
阅读(200)
评论(0)
推荐(0)
摘要:
AOT项目在发布时,可以通过项目文件中的OptimizationPreference选项来生成理论上最快的可执行文件(Speed)和更小的可执行文件(Size), 默认情况下,编译器选择混合方法:生成快速代码,大小又适中。通过在<PropertyGroup>中增加如下节点即可: <PropertyG 阅读全文
posted @ 2025-02-20 20:22
刘靖凯
阅读(70)
评论(0)
推荐(0)
摘要:
AOT项目有特殊模版的,目前支持AOT的模版有Mini API和gRPC。对于Mini API的AOT项目,有几个不同点,下面是我简化后针对开发的不同点: 使用 CreateSlimBuilder() API 确保默认情况下仅启用基本功能,从而最大程度地减小应用的部署大小。 配置为仅侦听 HTTP, 阅读全文
posted @ 2025-02-20 20:17
刘靖凯
阅读(27)
评论(0)
推荐(0)
摘要:
什么项目适合AOT呢?那要先看AOT项目的优缺点有哪些,根据这些优缺点,我们就能判断自己的项目适合不适合用AOT模式开发。 下面是官方提供的一个.NET服务原生发布与AOT的比较,我们看到,在Linux下,大小几乎是原来的1/10,启动后工作内存,不到原来的一半,启动时间更是原来的1/4,而带来的R 阅读全文
posted @ 2025-02-19 21:00
刘靖凯
阅读(37)
评论(0)
推荐(0)
摘要:
在C#12中,引入了拦截器,但一直是试验性的功能,所以自己初步看了一下,没有写文章,最近在看AOT时,发现Dapper.AOT已经用上了这个功能,觉得还是整理一下,分享出来吧,如果以后这个功能改变了,或移除了,请无视这篇文章。 下面是微软官方文档的提示: 拦截器是一项试验性功能,在 C# 12 的预 阅读全文
posted @ 2025-02-19 20:56
刘靖凯
阅读(59)
评论(0)
推荐(0)
摘要:
上篇关于《.net8发布后,AOT解决了JWT Authentication》的文章,在Visual Studio中运行是没有问题,但要采用默认的发布配置就会报错。 .NET8发布后,AOT解决了JWT Authentication 桂素伟,公众号:桂迹.NET8发布后,AOT解决了JWT Auth 阅读全文
posted @ 2025-02-18 20:14
刘靖凯
阅读(107)
评论(0)
推荐(0)
浙公网安备 33010602011771号