![](https://img-blog.csdnimg.cn/direct/38bf91b2890846b6824747e5c0a5bba1.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
.NET/C#中大型项目开发
文章平均质量分 88
1.本专栏旨在讲述研发一个中大型项目所需要了解的一系列“基本构件”,并提供这些“基本构件”在全网【最简单】、【最快速】的使用方法!!
2.通过阅读本专栏,能让你在正规“项目研发”方面快速入门+进阶,并能达成“小团队构建大网站”的目的。
3..本专栏所讲述内容,属于行业内“最佳实践”,具有独一无二性。
数字智慧化基地
.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造
展开
-
C#爬虫爬取某东商品信息
商品的图片地址和价格信息的获取需要仔细分析html中的数据,然后找到规律,比如价格在每个节点中就不能单独获取。在写下载HTML方法之前,我们需要去查看京东网页请求头的相关信息,在发送请求时需要用到。以上就是一个简单的爬取京东商品信息的爬虫,也可以根据自己的需求去解析更多的数据出来。首先我们获取到每个商品的节点集合,获取到一个商品的节点信息之后,分析html数据,(3)根据每个大类的节点,获取每个小类的节点信息,然后获取到分类地址。找到我们需要的商品的信息所在的位置,然后将需要的信息分离出来。原创 2024-05-10 07:30:00 · 937 阅读 · 5 评论 -
.NET集成DeveloperSharp实现http调用&与其它工具的比较
但本文前面提到过,“编码格式”Content-Type常用的有Json、x-www-form-urlencoded、form-data三种,它们只是常用的三种,事实上不止这三种(这是问题的核心所在!(4)string ContentType -- 请求的编码格式,通常有application/x-www-form-urlencoded(默认设置)、multipart/form-data、application/json三种形式。这类调用的特点是:“需要发送的参数”直接挂在了“调用地址”后面。原创 2024-03-24 09:00:00 · 485 阅读 · 0 评论 -
.NET +SignalR+Hangfire实现后台任务队列和实时通讯
🏆作者:科技、互联网行业优质创作者🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造🏆欢迎关注我(),里面有很多技术文章,,能助你快速成长。升职+涨薪!!原创 2024-06-04 14:30:00 · 816 阅读 · 0 评论 -
这是我见过最好用的 .NET 权限管理系统
🏆作者:科技、互联网行业优质创作者🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造🏆欢迎关注我(),里面有很多技术文章,,能助你快速成长。升职+涨薪!!权限管理系统基于 .Net7.x + FreeSql 全家桶 + Autofac + DotNetCore.CAP + Mapster 等技术,前后端分离后台权限管理系统。原创 2024-06-06 07:30:00 · 998 阅读 · 0 评论 -
C# FFmpeg 音视频开发总结
AForge一个很好的学习样例,它将DirectShow封装的很好,能轻松实现加载单Usb接口中的多Usb摄像头(不过它很久没更新了,目前无法设置摄像头参数,也没有Usb摄像头直接录制,所以我把它重写了),当然使用其他DirectShow的库也是可以的。3、其他的库多是基于FFmpeg封装,如果做一个视频播放器,像vlc这种库是非常方便的,缺点是臃肿,需要手动剔除一些文件,当然也有一些是基于FFmpeg封装好的视频播放器库,也能快速实现一个播放器。当然也可以不用多线程,同一个帧在播放完成后进行,录制。原创 2024-06-07 07:30:00 · 765 阅读 · 3 评论 -
太强了,使用 C# 开发的开源内网穿透工具
🏆作者:科技、互联网行业优质创作者🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造🏆欢迎关注我(),里面有很多技术文章,,能助你快速成长。升职+涨薪!!NSmartProxNSmartProxy是一款强大开源的内网穿透工具,采用.NET Core的全异步模式打造。原创 2024-06-05 07:30:00 · 806 阅读 · 0 评论 -
.NET 7 开发的高性能 Web 网关代理
Apiumc内置内网穿透支持,Apiumc是Web的反向代理,只要把外网服务器的请求通过Host域名来区分进行点对点的转发到本地Apiumc,对Apiumc来说转发的请求数据和平常网络防问没有区别,再把响应的数据以点对点的转发外网服务器,完成Http协议的内网穿透,这样外网就可通过Web形式防问本机或内网应用。开启后,会分配一个二级域名,用此域名二三级都可访问本机Apiumc了,同时也支持绑定域名,只要域名用CNAME解释到分配的域名,就完事了,就可以用自己的域名访问Apiumc了。🏆欢迎订阅我的专栏(原创 2024-06-06 14:00:00 · 957 阅读 · 0 评论 -
龙芯下如何进行.NET Core程序开发部署
🏆作者:科技、互联网行业优质创作者🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造🏆欢迎关注我(),里面有很多技术文章,,能助你快速成长。升职+涨薪!!前言2022年4月,基础的运行时架构代码全部通过社区技术评审.NET国际开源社区正式宣布支持LoongArch(龙架构),目前LoongArch64架构已出现在.NET社区主干分支上。正文.NET 是一个免费的跨平台开源开发人员平台,用于生成许多不同类型的应用。原创 2024-06-05 19:30:00 · 743 阅读 · 0 评论 -
全网最完整 C# 版微信SDK开源了 !
基于 Flurl.Http 的微信 HTTP API SDK,目前已包含公众平台、开放平台、商户平台、企业微信、广告平台、对话开放平台等模块。C# 版微信 SDKSKIT.FlurlHttpClient.Wechat,可能是全网最完整的 C# 版微信 SDK,封装全部已知的微信 API,包含微信公众平台(订阅号+服务号+小程序+小游戏+小商店+视频号)、微信开放平台、微信商户平台(微信支付+微企付)、企业微信、微信广告平台、微信智能对话开放平台等模块,可跨平台。原创 2024-06-07 14:30:00 · 774 阅读 · 0 评论 -
.NET 分布式爬虫框架
🏆作者:科技、互联网行业优质创作者🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造🏆欢迎关注我(),里面有很多技术文章,,能助你快速成长。升职+涨薪!!RuiJi.Net 是一个可以分布式部署的爬虫框架,使用 C# 开发,项目的最终目的是可以对大量的网站进行自动更新检查及抓取。原创 2024-06-08 07:30:00 · 880 阅读 · 0 评论 -
ASP.NET Core 使用最简洁的代码实现登录、认证和注销
🏆作者:科技、互联网行业优质创作者🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造🏆欢迎关注我(),里面有很多技术文章,,能助你快速成长。升职+涨薪!!前言认证是一个确定请求访问者真实身份的过程,与认证相关的还有其他两个基本操作——登录和注销。原创 2024-06-07 19:30:00 · 1620 阅读 · 0 评论 -
C#看门狗程序,懂它的人都被领导表扬了
在有些特殊项目中,软件可能是无人值守的,如果程序莫名其妙挂了或者进程被干掉了等等,这时开发一个看门狗程序是非常有必要的,它就像一只打不死的小强,只要程序非正常退出,它就能立即再次将被看护的程序启动起来。原创 2023-12-20 19:26:37 · 1042 阅读 · 0 评论 -
.NET架构师:全网最全“权限系统”设计剖析
本文从易到难非常详细的介绍了权限模型的设计,在工作中需要根据实际情况来定义模型,千人以内的公司使用RBAC模型是完全够用的,没有必要吧权限模型设计的过于复杂。模型的选择要根据具体情况,比如公司体量、业务类型、人员数量等。总之最适合自己公司的模型就是最好的模型,权限模式和设计模式是一样的,都是为了更好的解决问题,不要为了使用模型而使用模型。🏆欢迎关注我(原创 2024-01-18 23:07:30 · 1005 阅读 · 0 评论 -
迄今最全面的.NET/C#软件保护 & 商业授权
首先,对于.NET/C#生成的托管的代码,没有100%的保护措施,因为它们的程序执行最终会到二进制/汇编这个层面。而二进制/汇编层面可以针对性的对于指令集(Risc-v/Arm64/x64/Loongarch64)进行反汇编逆向重构。所以,对于.NET/C#生成的托管的代码,能做的只能是有限度的保护、增加理解难度。原创 2024-01-08 12:13:51 · 1045 阅读 · 1 评论 -
告别繁琐!1分钟带你了解如何使用Minimal APIs快速构建增删改查应用接口!
其中,app.MapGet("/", () => "Hello World")就是Minimal APIs,定义了请求的路由与路由对应的方法,在该项目配置下运行后,web浏览器输入https://localhost:7038后返回Hello World!基本上就是Program.cs一个文件,100行代码内(去掉空行),就能实现一个简单的操作数据库的crud应用接口。创建好后,VSCode打开的目录结构如下,Program.cs就是只有四行代码就能创建一个web请求的源文件。原创 2024-03-09 07:30:00 · 1781 阅读 · 0 评论 -
C# 中的动态查询实现方案和技巧
🏆作者:科技、互联网行业优质创作者🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造🏆欢迎关注我(),里面有很多技术文章,,能助你快速成长。升职+涨薪!!概述:想象一下,制作一个图书馆应用程序,用户可以毫不费力地按书名、作者或流派查找书籍。传统的搜索方法将您淹没在代码中。但不要害怕!C# 中的动态查询可以节省一天的时间。✅在我们的故事中,为每个书籍属性制定单独的搜索方法成为一个令人头疼的问题。原创 2024-05-01 07:30:00 · 820 阅读 · 0 评论 -
把C#程序(含多个Dll)合并成一个Exe的超简单方法
当CLR试图加载一个程序集但加载失败时,它会引发AppDomain.AssemblyResolve事件。我们的程序可以监听这个事件,并且在这个事件的处理函数中返回这个CLR试图加载的程序集,从而使程序得以继续正常运行。Fody.Costura在构建项目时会把EXE引用到的DLL全部嵌入到EXE文件中。当程序在运行的过程中用到其中某个DLL的时候(此时由于CLR无法找到该DLL文件,导致AppDomain.AssemblyResolve事件被触发)再从EXE文件的嵌入资源中提取所需的DLL。原创 2024-05-02 07:30:00 · 1216 阅读 · 0 评论 -
DDD领域驱动设计总结和C#代码示例
🏆作者:科技、互联网行业优质创作者🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造🏆欢迎关注我(),里面有很多技术文章,,能助你快速成长。升职+涨薪!!前言DDD(领域驱动设计)是一种软件设计方法,它强调以业务领域为核心来驱动软件的设计和开发。DDD 的设计初衷是为了解决复杂业务领域的设计和开发问题,它提供了一套丰富的概念和模式,帮助开发者更好地理解和建模业务领域,从而提高软件的质量和可维护性。一、DDD主要组成。原创 2024-04-29 07:30:00 · 789 阅读 · 0 评论 -
WebSocket在实时消息推送中的应用与实践
WebSocket是一种网络通信协议,它提供了一个全双工的通信通道,允许服务器与客户端之间进行实时双向通信。与传统的HTTP请求/响应模式不同,WebSocket建立了一个持久的连接,使得数据可以在任何时间点在这两个方向上自由流动。原创 2024-05-13 07:30:00 · 732 阅读 · 0 评论 -
ASP.NET Core中的统一结果返回与统一异常处理
首先,我们可以定义一个简单的模型来表示API的返回结果。这个模型通常包含状态码、消息和可能的数据。set;set;set;在这个模型中,Code表示状态码,Message是返回的消息,而Data是返回的数据。原创 2024-05-11 07:30:00 · 861 阅读 · 0 评论 -
.NET 中的压缩响应,减小带宽压力
🏆作者:科技、互联网行业优质创作者🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造🏆欢迎关注我(),里面有很多技术文章,,能助你快速成长。升职+涨薪!!概述:在今天的文章中,我将讨论 .NET Core 中的“响应压缩”功能。首先,我想简单谈谈什么是“响应压缩”。_响应压缩_是 .NET Framework 或 .NET Core 中使用的一种技术。此技术通过压缩 Web 应用程序在服务器端发送的数据来减小数据的大小。原创 2024-05-04 07:30:00 · 1593 阅读 · 0 评论 -
C# 实现短信验证码发送与 Redis 限制发送次数功能
本文介绍了如何使用 C# 结合 Redis 来实现短信验证码的发送,并对发送次数进行限制。错误处理:确保在发送短信和处理 Redis 数据时捕获并处理可能发生的异常。安全性:保护你的 Twilio 和 Redis 凭据,避免将它们暴露在源代码或配置文件中。使用环境变量或安全的配置管理工具来存储这些敏感信息。性能优化:在高并发场景下,你可能需要优化 Redis 和短信服务的性能。例如,使用 Redis 的管道化操作来减少网络往返时间,或使用短信服务的批量发送功能。用户体验。原创 2024-05-12 07:30:00 · 1685 阅读 · 0 评论 -
ASP.NET Core中实现文件上传下载实时进度条功能
🏆作者:科技、互联网行业优质创作者🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造🏆欢迎关注我(),里面有很多技术文章,,能助你快速成长。升职+涨薪!!在Web应用中,文件上传和下载是常见的功能。然而,用户通常希望能够实时看到上传或下载的进度,以便了解当前的完成情况。在ASP.NET Core中,我们可以利用一些技术来实现这一功能。原创 2024-05-14 07:30:00 · 1091 阅读 · 0 评论 -
C#的AOP(最经典实现)
若是在.Net Core环境下,我们只需要把DeveloperSharp.json文件放到程序执行目录中(即bin目录下与dll、exe等文件的同一目录中,放错了位置会报错)(注意:有些.Net Core版本在Visual Studio“调试”时,不会在bin目录下生成全部的dll、exe,此时需要把此配置文件放在应用程序的“根目录”下)。它两就是AOP横向拦截的核心要素。正确的使用AOP,甚至能对传统的软件架构设计,产生颠覆性的影响,如超级战士出场一般,彻底改变战局,让所有人刮目相看,完全耳目一新!原创 2024-04-25 07:30:00 · 585 阅读 · 0 评论 -
它让你1小时精通RabbitMQ消息队列、且能扛高并发
若是在.Net Core环境下,你则需要在appsettings.json文件中添加“DeveloperSharp.RabbitMQ”节点(如下配置示例),并把appsettings.json文件放到程序执行目录中(即bin目录下与dll、exe等文件的同一目录中,放错了位置会报错)(注意:有些.Net Core版本在Visual Studio“调试”时,不会在bin目录下生成全部的dll、exe,此时需要把此配置文件放在应用程序的“根目录”下)。”~“世界5,你好!比如:三个按钮、三个服务,之类...)原创 2023-12-17 10:53:06 · 843 阅读 · 1 评论 -
http请求调用(Post与Get),项目研发的核心一环
但本文前面提到过,“编码格式”Content-Type常用的有Json、x-www-form-urlencoded、form-data三种,它们只是常用的三种,事实上不止这三种(这是问题的核心所在!在外,调用一些第三方功能接口时,也会用到,因为,这些第三方功能往往是通过http地址的形式提供的,比如:短信服务、在线翻译、地图服务、语音智能、等…但实际开发中,我们只用Post/Get两种就够了。声明:这部分,将是一个要触发口水仗的部分,尽量降低敏感度,请高手勿喷,你若不喜欢可以不用本文方案,没谁逼着您站队!原创 2024-01-05 01:13:40 · 954 阅读 · 1 评论 -
我见过最好的.NET/C#图片工具(裁剪、缩放、与加水印)
回复'wpf',领取高薪热门【WPF上位机+工业互联网】从零手写实战。回复'面试',获取C#/.NET/.NET Core面试宝典。回复'Modbus',领取初识C#+上位机Modbus通信。回复'blazor',领取blazor从入门到实战。回复'Linux',领取Linux从入门到精通。回复'MongoDB',领取MongoDB实战。回复'NET',领取.NET零基础入门到实战。回复'vue',领取vue前端从入门到精通。回复'加群',进.NET技术社区交流群。回复'C#',领取零基础学习C#编程。原创 2024-01-04 02:12:28 · 963 阅读 · 1 评论 -
.NET集成DeveloperSharp实现分布式唯一ID
在某个大型电商系统A中,“订单”这类大数据(比如,每天产生1500万条订单)必定不会存储在1台数据库服务器中,而是分布式的存储在多台数据库服务器组成的一个集群中(比如,1000台数据库服务器组成一个集群)。若此时,另外一家公司的电商系统B,要与你家的电商系统A合并(甚至还有更多公司的C、D、E、等等),那么这些系统合并时“订单Id”出现重复的概率是很大的。经验:其实,无论是单机小型应用,还是多机大型分布式应用,从今天开始,你都应采用“分布式唯一Id”作为数据库中、每个表的“主键”。原创 2024-03-04 01:51:09 · 746 阅读 · 0 评论 -
.NET集成DeveloperSharp实现数据库操作
int affectedRows2 = IDA.SqlExecute("insert into t_Student(Name,Age)values(@N,@A)", new { N = "孙悟空", A = 200 });IDA.SpExecute("Test5", new { N = "杨小伟", B = "1999-02-28 12:03:45", h = 11.023, Id = 2 }, op1, op2, op3);原创 2024-02-18 04:15:00 · 1554 阅读 · 0 评论 -
.NET集成DeveloperSharp操作SqlServer数据库
注意:通过对DatabaseType属性的设定,提供了对所有种类数据库的支持(包括:MySql、Oracle、PostgreSQL、SqlServer、Sqlite、Firebird、达梦、以及人大金仓KingbaseES、神舟通用, 南大通用, 翰高, Access、等)🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造。最后,我们来谈谈如何调用存储过程。回复'面试',获取C#/.NET/.NET Core面试宝典。原创 2024-03-15 08:30:00 · 790 阅读 · 0 评论 -
.NET集成DeveloperSharp实现数据库的负载均衡(Load Balance)
若是在.Net Core环境下,我们只需要把DeveloperSharp.json文件放到程序执行目录中(即bin目录下与dll、exe等文件的同一目录中,放错了位置会报错)(注意:有些.Net Core版本在Visual Studio“调试”时,不会在bin目录下生成全部的dll、exe,此时需要把此配置文件放在应用程序的“根目录”下)。本文示例的三个数据库的Weight值分别是100、100、100,则这三个数据库的负载均衡使用分配比例将会是1:1:1。(本文讲述的是“同种数据库”的负载均衡。原创 2024-03-07 09:30:00 · 655 阅读 · 0 评论 -
.NET集成DeveloperSharp实现SqlServer数据库的负载均衡
若是在.Net Core环境下,我们只需要把DeveloperSharp.json文件放到程序执行目录中(即bin目录下与dll、exe等文件的同一目录中,放错了位置会报错)(注意:有些.Net Core版本在Visual Studio“调试”时,不会在bin目录下生成全部的dll、exe,此时需要把此配置文件放在应用程序的“根目录”下)。本文示例的三个数据库的Weight值分别是100、100、100,则这三个数据库的负载均衡使用分配比例将会是1:1:1。(本文讲述的是“同种数据库”的负载均衡。原创 2024-03-25 07:30:00 · 803 阅读 · 0 评论 -
.NET集成DeveloperSharp解决CORS跨域问题
即在服务端开发工程中添加Global.asax文件,并让类继承自DeveloperSharp.Structure.Base.Global即可(需从NuGet引用DeveloperSharp包)。网上对解决跨域限制有很多说明文章,但绝大多数要么解决的不完善(比如,没有区分【简单跨域】与【复杂跨域】),要么就是解决方案过于复杂化,代码量巨大,尤其是在.Net Framework环境下。🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造。原创 2024-04-05 07:00:00 · 331 阅读 · 0 评论 -
.NET集成DeveloperSharp操作Redis缓存数据库
若是在.Net Core环境下,要在DeveloperSharp.json文件中添加“DeveloperSharp.Redis”节点(如下配置示例),并把DeveloperSharp.json文件放到程序执行目录中(即bin目录下与dll、exe等文件的同一目录中,放错了位置会报错)(注意:有些.Net Core版本在Visual Studio“调试”时,不会在bin目录下生成全部的dll、exe,此时需要把此配置文件放在应用程序的“根目录”下)。以上,就是全网使用Redis最简单的方式!原创 2024-04-11 08:00:00 · 419 阅读 · 0 评论 -
.NET集成DeveloperSharp实现AOP(经典)
若是在.Net Core环境下,我们只需要把DeveloperSharp.json文件放到程序执行目录中(即bin目录下与dll、exe等文件的同一目录中,放错了位置会报错)(注意:有些.Net Core版本在Visual Studio“调试”时,不会在bin目录下生成全部的dll、exe,此时需要把此配置文件放在应用程序的“根目录”下)。它两就是AOP横向拦截的核心要素。正确的使用AOP,甚至能对传统的软件架构设计,产生颠覆性的影响,如超级战士出场一般,让所有人刮目相看,完全耳目一新!原创 2024-04-09 08:00:00 · 559 阅读 · 0 评论 -
.NET集成DeveloperSharp操作RabbitMQ消息队列
若是在.Net Core环境下,你则需要在DeveloperSharp.json文件中添加“DeveloperSharp.RabbitMQ”节点(如下配置示例),并把DeveloperSharp.json文件放到程序执行目录中(即bin目录下与dll、exe等文件的同一目录中,放错了位置会报错)(注意:有些.Net Core版本在Visual Studio“调试”时,不会在bin目录下生成全部的dll、exe,此时需要把此配置文件放在应用程序的“根目录”下)。”~“世界5,你好!原创 2024-04-14 08:00:00 · 980 阅读 · 0 评论 -
.NET集成DeveloperSharp实现“分页”
分页后的返回值Page1的类型是:PagePiece<IEnumerable<T>>,它包含分页后的数据集、总页数、总数据、当前页码、等等一系列“分页”后经常会用到的数据。大数据量分页时,一个操作耗时5秒、10秒、甚至更长时间都是有可能的,但这在用户使用的角度是不可接受的……其中,要被分页的DataAll对象可以是List<T>、IQueryable<T>、IEnumerable<T>、等任何集合类型。第三种,先把数据库中的相关数据全部读入“缓存”,再由代码程序对“缓存”中的数据进行读取+分页操作。原创 2024-04-07 07:00:00 · 395 阅读 · 0 评论 -
.NET集成DeveloperSharp实现图片的裁剪、缩放、与加水印
声明:void PictureTextWatermark(string SourceFile, string WaterText, System.Drawing.Font WaterTextFont, System.Drawing.Brush WaterTextBrush, int x, int y, string TargetFile)", new Font("华文新魏", 40, FontStyle.Bold), Brushes.Azure, 500, 50, "D:/fj3.jpg");原创 2024-03-07 07:30:00 · 832 阅读 · 0 评论