webmote
一位资深系统架构师、70后大龄码农、擅长.net core、微服务、前端Vue、大数据ETL、系统DevOps运维、CentOS等,关注我,和我一起平坑码代码,组团打怪兽。
展开
-
.net 调用海康SDK的跨平台解决方案
上2篇海康SDK使用以及常见的坑受到了许多网友的喜爱,这也说明了在工控领域内,使用.net开发还是非常便捷省事的。 针对海康的SDK进行进一步封装,第一版Net Framework版本代码发在[github](https://github.com/codeex/HikVisionNetLibrary)上,供大家测试和使用。这次主要讲解在.net core /6/7/8下进行跨平台调用时怎么封装海康的跨平台库,毕竟很多的研发类库已经都迁移到.net core 跨平台的系统上,以便适应时代的潮流,支持和兼容原创 2024-07-06 12:29:44 · 149 阅读 · 0 评论 -
.net 奇葩问题调试经历之2——内存暴涨,来自非托管的内存泄露
如果你没有修为到一定程度,那么在碰到内存暴涨的情况时,有时候是抓狂的,因为没办法能非常快的定位到问题在哪里,特别是碰到项目周期比较紧急的时候,这时候后面有人催着,简直是无法让头发自然生长,一不小心,又往聪明绝顶埋进了一大步。这里俺就描述下这个抓狂时刻。原创 2024-06-28 21:34:15 · 75 阅读 · 0 评论 -
.net 奇葩问题调试经历之1——在红外相机获取温度时异常
我们在研发中,经常除了造产品敲代码,就是在默默埋个雷,制造个bug。当然,并不是我们自己预先知道并想埋雷,大部分的场景是思考太少,不经意的埋下了一个雷,想做个类似的系列,挖挖身边自己的排雷经验以及作为救火队长的痛苦,如果你也有类似的经历,欢迎留言或者联系我,一块分享和提高。这是第一篇,就从前几天排的雷开始吧。原创 2024-06-19 14:46:00 · 287 阅读 · 2 评论 -
.net 调用海康SDK以及常见的坑解释
海康的SDK是C++编写的Dll,因为没有很好的进行包装,使用起来还是比较麻烦的,并且随着海康SDK的版本不同,各类版本有许多差异性,不好的封装会导致有很多的问题,这里把踩过的坑列举下,以便后来者少踩坑。我这里没有提供封装好的类库,这应该是有大量需求的,海康自己也没有很好的进行封装,我计划后面会提供一个,先发文章看看是否有需求了,大家可以评论给我。海康SDK在使用的时候,需要进行SDK的初始化,在退出时,需要销毁资源,这里的资源属于非托管资源,因此请谨慎反复调用。引用有几种方式,最简单的方式是直接使用。原创 2024-06-12 11:51:48 · 556 阅读 · 2 评论 -
从REPR设计模式看 .NET的新生代类库FastEndpoints的威力
又到了一年年末,春节将至,提前给各位粉丝们拜个早年,祝各位年年顺风有顺水,发财又发福。这次我给大家带来了新的API编程思路,一个新的设计模式REPR模式和FastEndpoints类库,希望大家评论区讨论。原创 2024-02-08 13:21:40 · 624 阅读 · 0 评论 -
【内存泄露】记一次内存泄露排查,罪魁祸首是HttpClient
很久很久以前,曾经的青葱少年,在二进制的海洋里冲浪时,曾经遇到过有关`HttpClient`内存溢出的恶龙,当时的少年,抽出锋利的宝剑,迅速解决了恶龙。而时光荏苒,日月如梭,少年已经成为了大叔,再一次,又遇到了这头恶龙...原创 2023-12-23 12:57:00 · 497 阅读 · 0 评论 -
.NET6实现破解Modbus poll点表配置文件
Modbus 协议是工控领域常见的一种通信协议,而Modbus Poll无疑是其中最好用的Master软件了,通过自定义的点表,可以通过查表的方式,快速的去响应主从机的动作和状态。其中使用的点表配置文件格式为mbp,今天,我们的目标就是这个文件!其中,对我们有意义的数据有起始地址,功能代码,点表列表数据,如何获取呢?原创 2023-11-27 20:19:29 · 1537 阅读 · 0 评论 -
.NET6 开发一个检查某些状态持续多长时间的类
在代码的世界里,时常碰撞出意想不到的挑战。一种常见的情景是,需要监测某个变量,只有它在某个神秘的时长内保持某种状态,我们才能在代码舞台上开启下一个精彩表演。当然,最土的办法是设定个计时器,但是你懂的,看着一堆条件判断像在蹦迪一样,总感觉代码不够优雅。嘿,有没有什么神通广大的方式可以化繁为简?原创 2023-11-25 16:08:31 · 960 阅读 · 0 评论 -
.NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
突然闯到路径搜索算法里来,缘起是需要在一个项目中实现拓扑路径中的最短路径搜索,应用领域是工业机器人。在计算机科学中,寻找图中两个节点之间的最短路径是一个重要的问题。Dijkstra算法是一种广泛应用的最短路径算法之一,能够有效地找到图中节点之间的最短路径。在已知图的拓扑结构的情况下,Dijkstra算法是一种高效的解决方案。A*算法是一种基于启发式搜索的路径搜索算法,通常用于图或网络中的最短路径问题。它结合了Dijkstra算法的完备性和贪心搜索的高效性,在启发函数的指导下沿着图搜索最短路径。A*算原创 2023-11-20 13:28:03 · 651 阅读 · 0 评论 -
[.NET 6] IHostedService 的呼叫等等我的爱——等待Web应用准备就绪
如果在应用中同时启用了多个IHostedService,已开始多个背景任务,那么一个有趣的现象是,其他的任务总是比 web应用启动的快,这有时候会导致一些异常。当然,除了有些无力的控制感以外,并没有啥大不了的,除非真的有其他需求要求我们必须这么做。而现在我就遇到了一个类似的问题,我想在背景任务中获取应用已经绑定的端口,啊哈哈,什么,应用还没有启动,那我们搞个毛线...原创 2023-09-13 22:39:42 · 408 阅读 · 0 评论 -
搞懂事件——C# 的event的机制深度理解
为什么忽然对Event感兴趣了?因为进入Web时代以后,很少使用它了,忽然想起这个知识点,感到非常的熟悉而陌生。不知道你有没有类似的感觉:好像对某个点大脑很熟悉,而手又很陌生?就像多年未曾谋面的老朋友,一个瞬间涌入大脑很多往日嬉戏打闹的碎片,但念及当先,却又音信全无。那么,你有没有事件相关的疑惑呢?Event 是同步还是异步执行的?如果是多个订阅,事件执行的顺序是什么?如果事件执行中发生异常,会发生什么事情?事件支持异步执行吗?事件触发后,跨进程可以触发到吗?原创 2023-02-22 12:15:45 · 725 阅读 · 0 评论 -
升级EF导致的错误---MissingMethodException: Method not found: ...IPropertyBase.get_Name()
仔细检查了所有的项目,果然,有个项目没有升级EF,依然维持EF5.0,手动修改后,忽然,想到EF的类库如果没有升级全,则会保持不同版本的引用,那么。经过仔细排查,没有发现代码上的问题,然而,这个奇怪的问题来自哪里呢?结果升级完了,就又升级了下EF,也匹配到6.0.11,如下包。运行后访问API, 哐当,出错了!奇奇怪怪的知识,记录下来,已备搜索用.再次运行,奇迹出现了,问题没了!记录下来,避免后人犯错!原创 2023-02-20 23:27:28 · 320 阅读 · 0 评论 -
.NET 升级发布后,IIS出现了System.IO.DirectoryNotFoundException
在使用`dotnet build`,编译后,直接拷贝到IIS的发布目录,web就突然启动不了了。错误信息如下:```csharpAn error occurred while starting the application.DirectoryNotFoundException: E:\xxx\xxx\wwwroot\Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(string root, ExclusionFilters原创 2022-11-27 11:41:16 · 803 阅读 · 0 评论 -
升级到.NET 6 后突然发现EFCore访问MySQL出现问题-没有 get_QueryProvider实现
Method 'get_QueryProvider' in type 'Microsoft.EntityFrameworkCore.Storage.Internal.RelationalDatabaseFacadeDependencies' from assembly 'Microsoft.EntityFrameworkCore.Relational, Version=6.0.11.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' does not h原创 2022-11-24 13:35:32 · 787 阅读 · 0 评论 -
.NET Core: 用 Fire & forget 模式执行无需等待的异步操作
一天,产品经理黄蓉找到程序员陈玄风。黄蓉来到了在电脑旁忙碌的陈玄风面前,对陈玄风说,师哥啊,现在我老爸让我们在每次增加记录时,记下一条日志,以便追踪记录的更改。陈玄风正忙得不亦乐乎,听到黄蓉的话,心里一乐,这么easy的需求,那我赶紧接了吧。边忙不迭的点头道,没问题的,师妹,交给我吧,大概需要... 哦,4个小时。望着远去的小师妹,陈玄风好开心,终于有摸鱼时间了。原创 2022-05-10 15:36:47 · 1070 阅读 · 1 评论 -
【慎入】秘境探索之一个.NET 对象从内存分配到内存回收
????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【掘金】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!????????????前方高能预警,新手慎入!不听劝阻者,轻则郁闷堆积,重则生死看淡,对编程失去了念想,对生活失去了幻想!好了,心理强大到NB的可以忽略前方若干警示。为了探索.NET对象的内存分配和回收销毁,您可能需要准备一些调试的基本知识,比如上篇的<利原创 2021-11-28 14:00:34 · 2110 阅读 · 2 评论 -
利用SOS扩展库进入高阶.NET6程序的调试
????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【掘金】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!????????????有时候我们可能想深入到程序的运行核心,去观察下内存分配情况以及堆栈内保存的东东,那么作为编程新贵的底层框架.NET6,又为我们提供了什么可用的观测工具呢?1.SOS 扩展是什么?SOS扩展库是Windows 附带的调试扩展库,它允许开原创 2021-11-27 18:19:39 · 1156 阅读 · 0 评论 -
.net core 下的PostgreSQL 异常排查—— Exception while reading from stream (0x80004005)
最近以PostgreSQL为存储介质,实现了分布式缓存的一个组件开发,在经过开发环境的测试后,顺利推送到产品组的手里,经过开发环境的验证后,终于发布到测试环境了,但问题来了,产品组反应频繁出现访问异常,返回的信息大致是:Exception while reading from stream … (0x80004005)????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【CSDN】????作者格言: 生活在原创 2021-11-17 20:57:07 · 4681 阅读 · 0 评论 -
RowVersion字段从SqlServer到PostgreSQL的迁移
SQL Server 有个列是rowversion,之前是timestamp,因此这两个关键字在SQL server中是同义词,不过目前timestamp处在废弃阶段,因此我们最好使用rowversion来代替它。而在数据库迁移时,因为使用到该类型,因此要考虑怎么迁移它。????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【CSDN】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我原创 2021-11-17 19:44:20 · 1588 阅读 · 0 评论 -
Npgsql .net 版本的PostgreSQL数据库连接字符串及参数
Npgsql 是.net 版本的postgreSQL的连接类库,当我们使用.net 进行PostgreSQL的相关开发时,首先接触的就是Npgsql,如果有兴趣的,可以去看看其源代码是怎么写的。????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【CSDN】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!????????????1 连接字符串PostgreSQL原创 2021-11-10 22:52:54 · 5654 阅读 · 3 评论 -
.net core平台单元/集成测试结果、覆盖率、圈复杂度到可视化HTML报告之路
.net core 平台的测试框架有好几个可供选择,内置的MSTest框架、NUnit框架以及强大好用的xUnit框架,依托宇宙最强的编辑器Visual Studio,可以开展非常友好的测试以及快乐的展示测试的结果。如果仅限于此,那么这篇文章对你来说就是多余的,不妨看看其他的东东;但如果你想脱离VisualStudio的舒服圈,独立产生可以自由发布和查看的HTML报告,那么也许本篇文章能够帮你节约大量的尝试时间和彻底摆脱沮丧的心理,而体验一场快乐的旅程。????欢迎点赞 :???? 收藏 ⭐留言 ?原创 2021-11-08 17:46:47 · 830 阅读 · 0 评论 -
对SQL server、Oracle、MySQL和PostgreSQL进行OLTP性能测试(Benchmark)
????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【掘金】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!????????????1.为什么做性能测试在工作中,完全基于新的数据库开发的场景并不是很多,毕竟现在这个年代,从头跟着公司干到上市的并不多了。因此我们常常遇到的是经过业务的迅速上升,会发现当初的数据库选型到目前为止,有诸多的不合适,那么就需要评估数据库的新选型了原创 2021-09-26 20:03:23 · 1292 阅读 · 2 评论 -
关于单元测试你不知道的那些事
????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【掘金】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!????????????1. 什么是单元测试单元测试是对程序设计的最小单元(函数)进行正确性检验的测试工作。为了保障代码的质量稳定性,一般建议采用单元测试来对代码进行测试,并配合CI/CD进行自动化的工作。2.什么时候写单元测试如果你要写一个新的功能,如原创 2021-09-25 20:01:26 · 810 阅读 · 0 评论 -
编写一个并发性能测试的小程序
????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【掘金】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!????????????1.为了统计qps,我使用了Interlocked锁是的,是锁总会有损耗,因为使用了Interlocked锁的缘故,肯定会对性能测试造成一定的干扰,那我们先来看看底噪是多少,开100个线程,写个什么都不干的函数,开始run。cpu跑满了原创 2021-09-18 09:27:18 · 1080 阅读 · 0 评论 -
EF core 映射的数据转换——记RowVersion的读取
????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【掘金】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!????????????1.来自RowVersion的映射困惑Sqlserve里的RowVersion类型的字段通常被用作乐观锁并发写,而我们平常使用的时候基本把它映射为byte[]即可,无需为它赋值。但有时候由于业务需要,可能需要读取它,做些业务动作,我们该怎原创 2021-09-07 21:55:16 · 1571 阅读 · 0 评论 -
微服务之 EShop on dapr概览
????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【掘金】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!????????????1. Dapr简介Dapr,微软牵头开发的分布式运行时,致力于打造一款事件驱动,可移植可扩展可构建在云端,也可构建在本地的分布式运行时。身具服务发现、基础设施服务代理网关、自身具有状态管理、消息订阅发布以及Actors,遥测等功能,实乃原创 2021-09-05 14:22:53 · 1792 阅读 · 0 评论 -
微服务的终极目标,Mecha分布式运行时之Dapr
????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【掘金】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!????????????1. Mecha 是啥?微服务发展到今天,已经有很多公司多年前已经改造完毕,也有些公司还在路上,微服务的优势,有过了解的朋友应该也都能说出个一二三来,经历过微服务改造的,应该都知道其中的艰辛。单体服务有着很多优势,结构简单、事务的ACID原创 2021-09-04 17:48:52 · 2757 阅读 · 0 评论 -
2021-09-04理论修炼之Redis,分布式缓存的中流砥柱
????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【掘金】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!???????????????? 序言日更这个活动,初看是一种逼迫,时间久了,真的就把自己锤炼成受虐狂了,到了时间点,总觉得要写点啥。每天写写文章,还是蛮好玩的,梳理梳理知识体系,写完后偶有所得的样子,比刷抖音,刷完后索然无味的感觉强多了。这次写写Redis,原创 2021-09-04 17:37:27 · 690 阅读 · 0 评论 -
理论修炼之RabbitMQ,消息队列服务的稳健者
????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【掘金】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!???????????????? 序言在ETCD节有讲过,对于架构师来说,对中间件的理论研究和熟悉不是过分的要求,以前大意了,主要偏向应用层了,今天就来学习RabbitMQ,这个消息队列服务的稳健者。当然由于RabbitMQ内容比较丰富,因此这里先阐述下消息组件原创 2021-08-15 22:24:40 · 702 阅读 · 0 评论 -
EF Core 异步编程注意要点
????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!???????????????? 序言不得不说,异步和线程性能问题一直是高并发的大敌。而.net core 自从诞生就不断地提升性能,目前的.net 6有一部分也是专门在优化性能方面的开销,而最近我阅读EF Core的 RoadMap时,也欣喜的发现这个由小团队维护的类库,也原创 2021-08-10 21:38:21 · 1008 阅读 · 1 评论 -
.Net 设计模式进阶之路——工厂方法模式[Factory Method]
「本文是月更第2天文章。对我来说,这是一个挑战,虽然很早就读过设计模式,但已经还回给了书本,这次拿来无非是想挑战下自己的输出能力,加油,webmote」????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!???????????????? 序言模式: 模式这个词,可以理解为套路,很像程咬金的三板斧,按照这个套路就可以搞定某件事。原创 2021-08-06 09:35:08 · 640 阅读 · 0 评论 -
.Net 设计模式进阶之路——生成器模式[Builder]
「本文是月更第1天文章。对我来说,这是一个挑战,虽然很早就读过设计模式,但已经还回给了书本,这次拿来无非是想挑战下自己的输出能力,加油,webmote」????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!???????????????? 序言模式: 模式这个词,可以理解为套路,很像程咬金的三板斧,按照这个套路就可以搞定某件事。原创 2021-08-04 13:09:12 · 703 阅读 · 0 评论 -
你也可以搞懂的微服务第一篇——来自ThoughtWork的学习体验
????欢迎点赞 :???? 收藏 ⭐留言 ???? 如有错误敬请指正,赐人玫瑰,手留余香!????本文作者:由webmote 原创,首发于 【掘金】????作者格言: 生活在于折腾,当你不折腾生活时,生活就开始折腾你,让我们一起加油!???????????????? 序言“滚滚长江东逝水,浪花淘尽英雄。”技术之路上,繁星点点,今天且来看看“微服务 ”,如何称雄。“微服务” 这个词好像已经出来十年了吧,我有幸从好早之前就一直从事相关的开发实践。所以一直想写有关微服务拆分的题材,但都觉得自己理原创 2021-07-09 13:39:26 · 716 阅读 · 1 评论 -
缩减控制器层——.net core WebApi的瘦控制器、动态api以及更完美的思路
最近在写一个小型程序的api,从基础仓储层到服务层,再到控制器层,写着写着,忽然发现控制器层变成了瘦控制器层,这个控制层还有必要留着吗?1、MVC设计模式以下知识来自微软官方网站。分离关注点是开发时的指导原则。 此原则主张应根据软件执行的工作类型将软件分离。例如,假设应用程序中包含两个逻辑,其中一个逻辑标识要显示给用户的注意事项,另一个以特定方式设置这些注意事项的格式,使其更加显眼。负责选择为哪些事项设置格式的行为应与负责设置格式的行为区分开,因为这两种行为只是碰巧彼此相关联的独立关注点。.原创 2021-04-20 14:08:09 · 640 阅读 · 3 评论 -
GraphQL简介:一个牛逼的灵活查询语言
GraphQL是构建Web API的一种方式。其为Web API定义类型系统,查询语言和架构语言的规范。利用GraphQL服务(或引擎),可以灵活构建查询的执行算法。1、为啥GraphQL开发GraphQL的目的是重用相同的API。GraphQL适用于具有不同要求的API客户端,而无需在服务器添加新客户端时更改实现,也无需客户端在添加新内容时更改客户端使用API的方式。它解决了使用REST API时可能遇到的许多效率低下的问题。构建API时应使用GraphQL的一些原因是:GraphQL .原创 2021-04-19 00:47:43 · 748 阅读 · 2 评论 -
万字长文,带你彻底理解EF Core5的运行机制,让你成为团队中的EF Core专家
在EF Core 5中,有很多方式可以窥察工作流程中发生的事情,并与该信息进行交互。这些功能点包括日志记录,拦截,事件处理程序和一些超酷的最新出现的调试功能。EF团队甚至从Entity Framework的第一个版本中恢复了一些有用的旧的功能。本博文带你更深入地研究访问EF Core 5的一些元数据和其有趣的使用方式。1、将EF的ToTraceString移植为EF Core的ToQueryString这是回忆杀。在Entity Framework的第一个迭代版本中,没有内置的日志记录。但是有O.原创 2021-04-17 00:12:21 · 604 阅读 · 1 评论 -
生产力提升! 自己动手自定义Visual Studio 2019的 类创建模板,制作简易版Vsix安装包
最近一直在开发 webApi 接口,为了方便我采用了反Restful风格开发,90%的接口均采用post方式,小部分查询采用Get方式,接口的入参和出参定义每次都需要手动创建2个类,心不累手累,怎么能减轻点工作,提升编程体验,早点下班呢?1、visual studio 扩展大家应该都安装过 扩展吧,就是这个东东。是的,本次我们就开始一个自己的扩展开发。别担心,这个扩展非常简单,不要担心会占用你太多时间。2、建立vs扩展项目新建一个项目,过滤最右边的项目类型为 扩展。2. 使用c#开.原创 2021-04-07 17:09:48 · 764 阅读 · 0 评论 -
EF Core 调用数据库内置函数,以及多个库二义性问题解决
EF Core用的多了,都不想再写sql语句进行查询了,毕竟这样写的很nice,可是当我们遇到复杂的查询语句,并且无法转换到服务边查询时,怎么办?EF的内置函数 和sql函数转换主要是使用 EF.Functions.XXX来代替一般的linq函数书写。比如你想比较日期离今天有多久了,写成 x=>x.data - Date.Now > 10是会提示你,无法正确翻译为sql函数,需要你显著声明为在本地内存计算,如果数据量不大,是可以在本地内存进行计算的,但如果数据量太大的话,还是老老实实的.原创 2021-03-28 19:43:55 · 1093 阅读 · 0 评论 -
在.NET5 中读取Excel文件,评估下参加神秘献祭会的几位子民
在很久很久之前,使用,NET代码打开Excel文件一直是一个痛苦的经历。在许多情况下,实际上您需要在目标/用户计算机上安装的Excel应用程序才能通过代码打开excel文件。如果您以前曾经使用过那些“ OLE DB Jet”查询,那么您就知道这不是一个很好的体验。幸运的是,现在有一些相当不错的开源解决方案,不需要在目标计算机上安装excel。这对Windows用户非常有用,这样您就不必在目标用户的计算机或Web服务器上安装excel,当然更适合Linux(甚至Mac / ARM)上托管.NET Core应.原创 2021-03-28 15:03:08 · 603 阅读 · 0 评论 -
支持多环境的Asp.Net Core,不够用还可以添加子环境
ASP.NET Core开箱即用,具有“多环境”的概念,该概念使您的应用可以根据运行的环境使用不同的设置。例如,您可以拥有开发/测试/生产环境,每个环境都有自己的环境设置文件,以及所有环境共享的通用设置文件,还能再多吗?1.多环境支持appsettings.json: 全局设置appsettings.Development.json:特定于开发环境的设置appsettings.Staging.json:特定于测试环境的设置appsettings.Production.json:特定于生产环境.原创 2021-03-27 09:46:43 · 274 阅读 · 0 评论